CentOS 7 下安装 MySQL 8.0

前言

本篇文章主要介绍在 CentOS 7 环境下安装 MySQL 8.0。

正文

1. 配置yum源

首先在 https://dev.mysql.com/downloads/repo/yum/ 找到 yum 源 rpm 安装包,但是我那会打开这个网页时有点慢毕竟是国外的网站,所以我分享到百度网盘了,链接: https://pan.baidu.com/s/1-gX5eN2QnSH5ptcxsIiq3Q 密码:pirb。

下载完成上传到服务器,我是传到了 opt 目录下。

2. 安装mysql源

yum localinstall mysql80-community-release-el7-2.noarch.rpm

用下面的命令检查 mysql 源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

3. 安装mysql

yum install -y mysql-community-server

4. 启动mysql服务

systemctl start mysqld

查看mysql状态

systemctl status mysqld

CentOS 7 下安装 MySQL 8.0

设置为开机自启。

systemctl enable mysqld

5.修改root本地账户密码

mysql 安装完成之后,生成的默认密码在 /var/log/mysqld.log 文件中。使用 grep 命令找到日志中的密码。

grep ‘temporary password‘ /var/log/mysqld.log

CentOS 7 下安装 MySQL 8.0

用初始密码来登录mysql。

mysql -uroot -p

使用以下命令修改密码.。

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MyNewPass1!‘;

注意:MySQL 5.7 以上版本 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。具体查看 MySQL官网密码详细策略

6. 添加远程登录用户

MySQL 8.0 和原来的版本有点不一样,8.0 的安全级别更高,所以在创建远程连接用户的时候,必须先创建用户(密码规则:MySQL 8.0 以上密码策略限制必须要大小写加数字特殊符号):

create user ‘%‘ identified  by ‘Leisurexi123456.‘;

在进行赋值。

grant all privileges on *.* to ‘%‘ with grant option;

最后刷新一下:

flush privileges;

然后使用数据库连接工具来进行连接测试。

CentOS 7 下安装 MySQL 8.0

我这边是完全ok的。

修改 root 为允许远程连接(不推荐)

use mysql;
UPDATE user SET Host=‘%‘ WHERE User=‘root‘;
flush privileges;

总结

最后我把默认的文件路径贴出来,方便大家查找:

  • 配置文件:/etc/my.cnf
  • 日志文件:/var/log/var/log/mysqld.log
  • 服务启动脚本:/usr/lib/systemd/system/mysqld.service
  • socket文件:/var/run/mysqld/mysqld.pid