1、安装MySQL
使用最新的包管理器安装MySQL:
sudo dnf install @mysql
补充要点:当前mysql版本8.0.17,默认区分大小写,可能会导致在代码执行过程中出现问题。
mysql8.0 要求我们不能在initialize之后再更改 lower_case_table_names(区分大小写) 的值,也就是说,再通过更改 my.cnf 文件是不管用的。
所以我们提前在/etc/my.cnf添加以下配置
[mysqld]
# 为0时大小写敏感,为1时大小写不敏感,默认为0
lower_case_table_names=1
2、设置开机自动启动
设置开机自动启动,执行命令:
sudo systemctl enable --now mysqld
检查MySQL服务器是否正在运行:
sudo systemctl status mysqld
3、CentOS下MySQL常用命令
# 开启
systemctl start mysqld.service
# 关闭
systemctl stop mysqld.service
# 重启
systemctl restart mysqld.service
4、添加密码及安全设置
运行mysql_secure_installation,执行一些与安全性相关的操作并设置MySQL密码:
sudo mysql_secure_installation
(注意)步骤如下:
- 要求你配置VALIDATE PASSWORD component(验证密码组件): 输入y ,回车进入该配置
- 选择密码验证策略等级, 我这里选择0 (low),回车
- 输入新密码两次
- 确认是否继续使用提供的密码?输入y ,回车
- 移除匿名用户? 输入y ,回车
- 不允许root远程登陆? 我这里需要远程登陆,所以输入n ,回车
- 移除test数据库? 输入y ,回车
- 重新载入权限表? 输入y ,回车
5、配置远程登陆
接下来本机登录MySQL,将root用户的host字段设为'%',意为接受root所有IP地址的登录请求:
本机登录MySQL:
mysql -uroot -p
接着继续执行mysql语句,将将root用户的host字段设为'%':
use mysql;
update user set host = '%' where user = 'root';
# 刷新
flush privileges;
设置完成后输入exit退出mysql
6、开放防火墙的3306端口
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
7、关闭MySQL主机查询DNS
(选择性)MySQL会反向解析远程连接地址的DNS记录,如果MySQL主机无法连接外网,则DNS可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。
打开/etc/my.cnf
文件,添加以下配置:
[mysqld]
skip-name-resolve
8、重启服务
sudo systemctl restart mysqld
9、结尾
(注意)如果是阿里云,设置阿里云服务器安全组规则,开放3306端口
10、Navicat Premium 连接
亲测可用,如有问题,可来交流。