centos7 yum安装 mysql 5.6
2016-09-14 15:44
603 查看
Centos7 的 yum 源中默认是没有 mysql 的。要想使用 yum 安装 mysql 5.6 ,需要先下载安装 mysql 的 repo 源。
1、下载 mysql 的 repo 源
1、下载 mysql 的 repo 源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm[/code]
2、安装 mysql-community-release-el7-5.noarch.rpm 包# sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3、安装 mysql# sudo yum install mysql-server
4、重置 mysql 密码# mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:# sudo chown -R openscanner:openscanner /var/lib/mysql
然后重启 mysql 服务:# service mysqld restart
然后邓璐重置密码:# mysql -u root mysql > use mysql mysql > update user set password=password('123456') where user = 'root'; mysql > exit;
5、开放3306端口
编辑 iptables 文件,如果没有找到,则需要安装 iptables,因为 centos7 默认使用的是 firewall 作为防火墙。
5.1 关闭 firewall:
停止 firewall# systemctl stop firewalld.service
禁止 firewall 开机启动# systemctl disable firewalld.service
5.2 安装 iptables 防火墙,安装完成之后在 /etc/sysconfig 目录下有 iptables 文件
安装# yum install iptables-services
编辑防火墙配置文件# vi /etc/sysconfig/iptables
添加开放端口3306的信息-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
保存退出,重启防火墙# systemctl restart iptables.service
设置防火墙开机启动# systemctl enable iptables.service
mysql 数据库安装完成,可以使用客户端远程测试连接。
备注:
如果客户端连接数据库报错:类似1130: host is not allowed to connect to mysql server
说明 mysql 数据库不允许从远程登录,只能在 localhost,添加 ‘%’ 即可。# mysql -u root -p
登录mysqlmysql > use mysql; mysql > update user set host = '%' where user = 'root';
如果报错,类似ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后产看数据库的 host 信息,mysql > select host form user where user = 'root'; +-----------------------+ | host | +-----------------------+ | % | | 127.0.0.1 | | localhost.localdomain | +-----------------------+ 3 rows in set (0.00 sec)
host 已经有了 % 这个值。直接运行最后一个命令:mysql > flush privileges;
客户端连接数据库,成功!
6、修改 mysql 数据库字符集
查看数据库字符集mysql > show variables like '%character%';
结果显示:其中字符集 为 latin1。+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
修改 my.cnf 文件,注意:修改之前,备份 my.cnf# vi /etc/my.cnf
在 [mysqld] 下添加代码socket = /mysqldata/mysql/mysql.sock **character-set-server=utf8**
7、设置 mysql 数据库表不区分大小写
在 [mysqld] 下添加代码lower_case_table_names=1