mysql 8.0 版本远程连接出现1130 2059 错误代码问题解决方法
问题一:
navicat连接远程服务器mysql数据库报 1130-host ... is not allowed to connect to this MySqlServer...
错误信息表明当前主机无法不被容许连接到mysql数据库。
解决方法:
在mysqlworkbench中 选择
然后将指定用户名对应的Localhost改成通配符 % 即可解决问题
也可以在远程服务器中采用脚本形式进行修改操作:
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root' and host='localhost';
mysql>select host, user from user;
然后重启MySQL服务。或再执行 执行一个语句 mysql>FLUSH RIVILEGES 使修改生效。
问题二:2059 Authentication plugin ‘caching_sha2_password’ cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é¡£. 报错代码
解决方法:远程服务器中数据库中查询语句
SELECT `user`, `host`, `authentication_string`, `plugin` FROM mysql.user;
修改root账号的密码验证插件类型为mysql_native_password这是mysql8之后的问题:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则password是自己的密码,root也是登陆账户,下同。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
再次
SELECT user, host, authentication_string, plugin FROM mysql.user;
问题解决 此时可以连接成功!