CentOS7.4 安装 MySQL8.0.13

CentOS7中默认有MariaDB,MySQL需要自己去下载

一、去MySQL官网获取rpm包下载链接

官网地址:https://dev.mysql.com/downloads/repo/yum/

复制出来的地址为:https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

二、下载MySQL RPM包,并安装

1、用上述地址下载包

    wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

    或者直接点击上述链接,下载到本地,再上传到服务器上

2、安装Mysql源

    yum -y install mysql80-community-release-el7-1.noarch.rpm

3、安装MySQL

    yum -y install mysql-community-server

(基于el8的系统,比如centos8需要在这之前先执行:yum module disable mysql)

到这里MySQL就安装好了,接下来需要一些配置

三、启动MySQL,设置初始密码

1、启动MySQL:systemctl start mysqld.service

2、找初始密码

    因为MySQL5.7后设有初始密码,所以我们需要先把初始密码找到。

    密码存放在 /var/log/mysqld.log 中,cat /var/log/mysqld.log 

    或者直接搜索: grep "password" /var/log/mysqld.log   也可以得到

3、登陆MySQL

    mysql -uroot -p

    输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password' ;

到此我们可以操作数据库了,但还不能远程连接数据库!!!

四、远程连接配置

    登录MySQL,选择mysql数据库

    use mysql;

    select host, user, authentication_string, plugin from user;

    查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

    将它更新为%,% 表示通配所有 host,可以访问远程

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

    更新完,刷新权限

    flush privileges;

最后我们用低版本的Navicat、SQLyog等访问时,还是会报错。

错误号码 2058:Plugin caching_sha2_password could not be loaded

解决方法:1、换成高版本的客户端。2、修改mysql加密规则

mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,步骤如下:

1、设置密码不过期(默认就是不过期)

ALTER USER 'root'@'%' PASSWORD EXPIRE NEVER;

2、修改密码并指定加密规则为mysql_native_password

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

3、 flush privileges;

终于可以连接上MySQL了,恭喜!!!

你可能感兴趣的:(CentOS7.4 安装 MySQL8.0.13)