在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB.
1. 下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就开始安装MySQL服务器。
[root@localhost ~]# yum -y install mysql-community-server
这步可能会花些时间,等待安装完成 .
接来下启动:
[root@localhost ~]# systemctl start mysqld
检查服务运行状态
找到初始密码
[root@localhost ~]# grep "password" /var/log/mysqld.log
登录mysql 客户端
[root@localhost ~]# mysql -uroot -p
关闭密码有效性校验
mysql> set global validate_password_policy=0;
修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
最后退出 mysql客户端 ,至此,mysql 5.7 安装算完成了, 但此时还有一个问题,因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
完毕.
有朋友问到,怎么从宿主机通过 Navicat 客户端访问不了mysql数据库 ? 那是因为我们的root账户默认只能是localhost方式允许访问. 回到虚拟机 ,通过指令进入mysql客户端,设置一下就行:
[root@localhost ~]# mysql -uroot -p
进入mysql客户端后 执行,root账户任意IP 通过密码可访问:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
然后 flush一下
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
最后重启 mysql服务
[root@localhost ~]# systemctl restart mysqld
,如果还是不能访问,就把你的防火墙关闭掉 或者把 3306端口添加到防火墙 ,允许端口对外访问. 我这里测试是成功的.