0%

腾讯云安装 Mysql8 踩坑记录

腾讯云安装 Mysql8 踩坑记录

安装教程
CentOS7安装MySQL8

坑1:远程登录失败 1130

安装完成之后远程登录

1
2
mysql -u root -ptest101 -h xxx.xxx.xxx.xxx
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

是因为只添加了localhost访问
您可以通过以下方法来检查,登陆mysql后输入:

1
SELECT host FROM mysql.user WHERE User = 'root';

如果您只看到结果localhost和127.0.0.1,则无法从外部源连接。

需要添加要授予访问权限的每个系统的IP地址,然后授予特权:

1
2
CREATE USER 'root'@'ip_address' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';

如果你看到%那么,还有另外一个问题,那就是“任何远程源”。但是,如果希望任何/所有系统通过根连接,请使用%通配符允许访问:

1
2
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

最后,重新加载权限,您应该能够远程访问:

1
FLUSH PRIVILEGES;

远程登录成功

坑2: Navicat 连接失败 2059

原因:出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。
可以将mysql用户登录的加密规则修改为mysql_native_password 解决

登陆mysql后,输入以下命令修改加密规则:

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

-------------本文结束感谢您的阅读-------------