Centos8安装MySQL5.7.3

写这篇文章之前,刚做了Centos8安装mysql8.0,可以参考我上一篇博文:

Centos8安装MySQL8.0

针对我们卸载MySQL8.0之后重新安装MySQL5.7.3的时候,会遇到数据库连接不上的问题,各种方式就连本地也连接不上。找了很多方法,才发现这个方法很有效,贴在下边了,大家可以看一下:https://www.linuxidc.com/Linux/2019-08/159900.htm

由于在Centos8上安装了mysql8.0,mysql8.0不兼容,所以我们需要重新安装mysql5.7。

Mysql5.7的安装和Mysql8.0上边讲的安装方式一样。我们需要去官网上下载所需要的文件,然后进行安装。下载地址:https://dev.mysql.com/downloads/mysql/

 

 

 

 

下载完毕之后按照顺序进行安装:

 

 

 

 

rpm -ivh rpm包

安装mysql-community-common-8.0.20
安装mysql-community-libs-8.0.20
安装mysql-community-client-8.0.20(前两个是其依赖,一定安装顺序安装)

键入如下命令:
rpm -ivh mysql-community-common-8.0.20-1.el8.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.20-1.el8.x86_64.rpm

rpm -ivh mysql-community-client-8.0.20-1.el8.x86_64.rpm

键入命令:rpm -ivh mysql-community-server-8.0.20-1.el8.x86_64.rpm

查看是否安装成功,键入命令:mysqladmin --version

 

初始化mysql,mysqld --initialize //创建数据文件目录和mysql系统数据库 产生随机root密码;

/var/lib/mysql目录权限授权,chown -R mysql:mysql /var/lib/mysql/;

启动mysql服务,systemctl start mysqld //启动;

ps -ef | grep mysql //查看mysql服务;

查看初始化随机生成的root密码,cat /var/log/mysqld.log | grep password。

安全性配置可以参考mysql8.0安装说明,安全性配置结束,我们可以进行数据库的登录,键入命令:mysql -uroot -p

 

进入之后需要修改mysql配置,以达到远程访问。在MySQL Server端(也就是我们安装的服务器):执行mysql 命令进入mysql 命令模式,Sql代码 :

mysql> use mysql;   

mysql> update user set host = '%' where user ='root';

mysql> flush privileges;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用root帐户  和密码来访问这个MySQL Server  

 

接下来呢,我们以为我们可以顺利用Navicat登陆了吗?然而,我们公司给的这台服务器,难为了我一下。居然连接不上,查了一下,原来是防火墙的问题。接下来就是开启防火墙端口以及服务进程了(防火墙也会拦截某些服务进程,禁止访问)。

 

起初,我打算直接去设置3306端口,开启使之满足需求,然并,第一步当然是先开始防火墙了,我们先查看一下当前防火墙的状态,键入命令:systemctl status firewalld,发现他是关闭的;键入命令:systemctl start firewalld,开启防火墙。接着再输入上一个命令进行查看,发现此时,防火墙已经打开了。这个时候,我们要建立我们自己的策略,键入命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent,如下图则为成功:

 

此时你以为你又成功了吗?不,你又错了,你虽然开启了端口,但是这个策略没有立即生效啊。键入如下命令:firewall-cmd --reload。

接着,又是微微一下,请看下图:

 

至此,完成安装以及远程连接操作。