CentOS8配置mysql

安装MySQL8.0

使用最新的包管理器安装MySQL

1
sudo dnf intall @mysql

开机启动

运行以下命令来启动MySQL服务并使用它在启动时自动启动

1
sudo systemctl enable --now mysqld

检查MySQL是否正在运行

1
sudo systemctl status mysqld

添加密码及安全设置

运行mysql_secure_installation脚本

1
sudo mysql_secure_installation

步骤如下:

1.要求你配置VALIDATE PASSWORD component(验证密码组件): 输入y ,回车进入该配置

  • 选择密码验证策略等级, 我这里选择0 (low),回车
  • 输入新密码两次
  • 确认是否继续使用提供的密码?输入y ,回车
  • 移除匿名用户? 输入y ,回车
  • 不允许root远程登陆? 我这里需要远程登陆,所以输入n ,回车

2.移除test数据库? 输入y ,回车

3.重新载入权限表? 输入y ,回车

配置远程登录

如果需要设置root账户远程登陆,上一步骤中,不允许root远程登陆?这一步需要设为n。
接下来本机登录MySQL,将root用户的host字段设为’%’,意为接受root所有IP地址的登录请求:
本机登录MySQL

1
mysql -uroot -p<上面步骤中设置的密码>

接着继续执行mysql语句,将将root用户的host字段设为’%’:

1
2
3
use mysql;
update user set host='%' where user='root';
flush privileges;

设置完成后输入exit退出mysql,回到终端shell界面,接着开启系统防火墙的3306端口:

1
2
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

关闭MySQL主机查询dns

MySQL会反向解析远程连接地址的dns记录,如果MySQL主机无法连接外网,则dns可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。

打开/etc/my.cnf文件,添加以下配置:

1
2
[mysqld]
skip-name-resolve

重启服务

1
sudo systemctl restart mysqld
Author

jiangyao

Posted on

2021-06-12

Updated on

2022-10-17

Licensed under