关于Navicat Premium连接MySQL出现2059错误解决方法

前言

一、问题原因:

二、解决步骤:

1.进入容器

​编辑

2.登录mysql

3.查看所有用户

 3.设置新的加密规则

 4.连接Navicat

前言

关于Navicat连接MySQL出现2059错误解决方法

关于Navicat Premium连接MySQL出现2059错误解决方法_第1张图片

一、问题原因:

如上图的报错提示可知,报错原因是caching_sha2_password不能加载。

这是因为8.0之后mysql更改了密码的加密规则,而目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。

二、解决步骤:

1.进入容器

我这里mysql是安装再docker里面的
docker ps //查看正在运行的容器
docker exec -it 43e99 bash //进入容器内部

关于Navicat Premium连接MySQL出现2059错误解决方法_第2张图片

2.登录mysql

mysql -uroot -p //登录mysql

关于Navicat Premium连接MySQL出现2059错误解决方法_第3张图片

3.查看所有用户

//查看所有用户的权限
SELECT User, Host FROM mysql.user; 
//如果root的host列显示的是localhost可以通过下面的命令更新,改为%表示允许任意host访问
update user set host = '%' where user = 'root';

关于Navicat Premium连接MySQL出现2059错误解决方法_第4张图片

 3.设置新的加密规则

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; //设置新的加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';//更新用户密码
FLUSH PRIVILEGES;//刷新权限

 4.连接Navicat

关于Navicat Premium连接MySQL出现2059错误解决方法_第5张图片

 连接成功

你可能感兴趣的:(常见问题解决方案,开发语言,java,mysql)