Navicat 连接MySQL 8.0.11 出现2059错误

解决MySQL 1130 错误,无法远程连接

错误如下

 
error

原因:mysql服务器 root 默认只允许 localhost 也就是 127.0.0.1 连接

解决

修改 root 用户的任何ip都可以链接,就好了

1. 使用 mysql 这个库

use mysql;

2.允许任何ip链接

update user set host = '%' where user ='root';

3. 刷新权限

flush privileges;

4. 如果还不行,重启mysql服务就好了

第二个错误:解决了以上错误还有以下错误:

使用Navicat Premium 连接MySQL时出现如下错误:

原因

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决

更改加密规则:

mysql -uroot -ppassword #登录

use mysql; #选择数据库

ALTER USER 'root'@'localhost' IDENTIFIED BY 'sa' PASSWORD EXPIRE NEVER; #更改加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'sa'; #更新用户密码

FLUSH PRIVILEGES; #刷新权限

输入password

可能出现执行上述修改加密方式报错:

密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

如下图:

解决办法:

1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate.password%'; ” 进行查看,
如下图:





2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password.policy=LOW; ” 进行设值,
如下图:




3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate.password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate.password_length=6; ” 进行设值,
如下图:




4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看到修改成功,表示密码策略修改成功了!!!

如下图:

原文地址:https://www.cnblogs.com/zhaoyanhaoBlog/p/11183996.html