Comment on page
CentOS 安装 Mysql 8.0
摘要: CentOS 8 安装MySQL 8.0 并配置远程登录
使用最新的包管理器安装MySQL
dnf install @mysql
安装完成后,运行以下命令来启动MySQL服务并使它在启动时自动启动:
systemctl enable --now mysqld
要检查MySQL服务器是否正在运行,请输入:
systemctl status mysqld
运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:
mysql_secure_installation
步骤如下:
如果需要设置root账户远程登陆,上一步骤中,
不允许root远程登陆?
这一步需要设为n。
接 下来本机登录MySQL,将root用户的host字段设为'%',意为接受root所有IP地址的登录请求:
本机登录MySQL:mysql -uroot -p<上面步骤中设置的密码>
回车后即可登录,接下来终端变成了
mysql>
开头:接着继续执行mysql语句,将将root用户的host字段设为'%':
use mysql;
update user set host='%' where user='root';
flush privileges;
select host,user from user;
修改连接权限执行:
update user set host='%' where user ='root';
更改加密方式执行:
update user set plugin='mysql_native_password' where user ='root';
授权远程连接:
grant all on *.* to 'root'@'%';
设置完成后输入exit退出mysql,回到终端shell界面,接着开启系统防火墙的3306端口:
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
MySQL会反向解析远程连接地址的dns记录,如果MySQL主机无法连接外网,则dns可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。
参考文档
打开
/etc/my.cnf
文件,添加以下配置:[mysqld]
skip-name-resolve
systemctl restart mysqld
本机测试安装后,MySQL8.0默认已经是utf8mb4字符集,所以字符集不再修改