上一篇在Centos配置好MySQL8后,本地使用Navicat远程连接时,出现了几个错误,在此记录
1130-host ... is not allowed to connect to this MySql server
1251 client does no support authentic…………
第一个错误,可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
解决的方法有几种,详细参考这篇:
解决步骤:
1. 连接服务:mysql -u root -p
2. 查看当前所有数据库:show databases;
此时可以看到一个名为"mysql"的数据库,选择该数据库
3. use mysql;
4. 查看mysql数据库中所有的表,看到有个user表show tables;
5. 查看一下的信息select host,user,plugin,authentication_string from mysql.user;
6. 修改user表中的Host: update user set Host='%' where User='root';
做完前6步后,错误1可以得到解决了,但是又出现了错误2的问题。 错误2的解决在接下来步骤。
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
(上图是已经修改过的了,没修改之前也是caching_sha2_password)
修改用户密码(此处我修改的是root用户)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'; #更新一下用户的密码 root用户密码为newpassword (这一步是在前面步骤的基础上解决错误2的操作)
写到这有点凌乱了,给出参考博客
(https://blog.csdn.net/qq_22211217/article/details/80415248)
(https://blog.csdn.net/dabao87/article/details/80571877)