您的位置:首页 > 运维架构 > Linux

centos7 yum安装 mysql 5.6

2016-09-14 15:44 603 查看
Centos7 的 yum 源中默认是没有 mysql 的。要想使用 yum 安装 mysql 5.6 ,需要先下载安装 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


登录mysql

mysql > 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息