mysql-57">如何在CentOS 6.8系统上安装MySQL 5.7?
一、检查系统上是否已经安装MySQL
命令:
1
2
3
4
5
|
[root@localhost ~]# rpm -qa | grep -i mysql mysql-community-common-5.7.19-1.el6.x86_64 mysql-community-client-5.7.19-1.el6.x86_64 mysql-community-server-5.7.19-1.el6.x86_64 mysql-community-libs-5.7.19-1.el6.x86_64 |
这说明在该系统上已经安装了如上四个mysql组件。
二、卸载MySQL
命令:
1
2
3
4
|
rpm -ev mysql-community-common-5.7.19-1.el6.x86_64 rpm -ev mysql-community-client-5.7.19-1.el6.x86_64 rpm -ev mysql-community-server-5.7.19-1.el6.x86_64 rpm -ev mysql-community-libs-5.7.19-1.el6.x86_64 |
依次卸载相关组件
注意,如果MySQL已经在系统上运行,要先关闭MySQL服务才能进行卸载操作。
关闭MySQL:service mysql stop
三、下载安装MySQL 5.7
去MySQL官网下载MySQL相关rpm包 https://dev.mysql.com/downloads/mysql/
根据linux系统版本选择MySQL包版本。
本文针对CentOS 6.8进行讲解,所以可以选择如下版本
其中,需要下载如下四个rpm包
mysql-community-common-5.7.19-1.el6.x86_64.rpm
mysql-community-client-5.7.19-1.el6.x86_64.rpm
mysql-community-server-5.7.19-1.el6.x86_64.rpm
mysql-community-libs-5.7.19-1.el6.x86_64.rpm
分别获取四个包的下载链接
在linux中用wget命令进行下载<喎�"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"sql;"> [root@localhost tmp]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.19-1.el6.x86_64.rpm
(其余三个链接在此省略)
下载后,按照如下顺序安装(一定要按照顺序,因为包之间有依赖关系。)
1
2
3
4
|
[root@localhost tmp]# rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm [root@localhost tmp]# rpm -ivh mysql-community-libs-5.7.19-1.el6.x86_64 // 依赖于common [root@localhost tmp]# rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64 // 依赖libs [root@localhost tmp]# rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64 // 依赖于client、common |
至此,MySQL就已经安装在系统上了。
四、设置初始密码
命令:mysqld --initialize
该命令执行后会在/var/log/mysqld.log文件中生成随机密码
更改mysql数据库目录的所属用户及其所属组,然后启动MySQL
1
2
3
|
[root@localhost /]# chown mysql:mysql /var/lib/mysql -R [root@localhost /]# service mysqld start [root@localhost /]# mysql -u root -p |
使用生成的随机密码就可以进入数据库了。
(如果登录数据库失败,请移步至第六步。)
五、设置数据库允许远程访问及开放防火墙3306端口
登录数据库,设置root用户的访问地址为全部即”%”
1
2
3
|
mysql> use mysql; mysql> update user set host = '%' where user = 'root' ; mysql> flush privileges ; // 刷新配置 |
光修改数据库user表还不够,还需要开放linux系统防火墙中3306端口
1
|
[root@localhost /]# vi /etc/sysconfig/iptables |
增加一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
注意,这一行要在icmp-host-prohibited的上面
之后,重启防火墙
1
|
[root@localhost /]# service iptables restart |
至此,数据库的安装及端口开放就已经完成了。
六、关于Access denied for user ‘root’@’localhost’问题的解决
按理来说第四步结束后,数据库可以正常访问。但是我遇到了这个问题:Access denied for user ‘root’@’localhost’ (using password:YES)
有关这个问题的解决,请查看 如何解决MySQL 5.7 Access denied for user ‘root’@’localhost’ (using password YES)问题?
https://www.2cto.com/database/201707/660700.html