一,安装的全过程在这里:
MySQL 5.7 for Linux安装与配置(超详细)
但是在安装的时候会出现一些问题,根据这些问题进行改进
二,出现的问题
1.安装出现的问题:我是使用第二种方式进行安装的,原文章是这样
在使用rpm 命令按顺序依次安装 4 个包的时候出现了问题,原文章的命令是这样的
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
但是在运行第三个命令的时候出现了这样的报错
error: Failed dependencies:mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-commu
经过查询,发现需要把命令改成这样,就可以成功安装了
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm --nodeps --force
2.在启动MySQL服务之后,进行登录的时候出现了问题
输入mysql -uroot -p后,报了这样一个错误
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
解决方法输入这个命令就可以了
yum install libncurses*
3.在修改完密码连接的时候出现的问题
由于我是通过外部主机的Navicat 15 MySQL进行连接虚拟机里的CenteOS,首先,CenteOS的防火墙需要关闭,在Navicat中,连接的ip地址需要填写CenteOS的ip地址。然后需要把user表中的root用户的host修改一下,默认是localhost,只允许当前主机进行连接,需要修改未’%',表示不限制ip连接。修改方式如下
grant all privileges on *.* to 'root'@'%' identified by '数据库密码'; #修改用户权限
flush privileges; #刷新权限
修改后可以通过这行代码来查询
select host,user,plugin,authentication_string from mysql.user;
只要显示这个,那就说明修改成功了
此时在外部主机上进行连接,就连接成功辣
(还有一个小小的bug)
在原文章中,有一段设置MySQL开机自启动的命令
systemctl enable mysqld.sercice
这里我运行之后会报错
Failed to enable unit: Unit file mysqld.sercice.service does not exist.
但是其实我的MySQL是已经实现了开机自启的功能,我感觉可能还是版本的问题,原文章的作者使用的是CenteOS7来进行安装的,我使用的CenteOS8来进行安装,所以才会出现这么多的问题。
感谢观看!