提示:2059 - authentication plugin 'caching_sha2_password…
查了一下这个错误,是由于MySQL8.0之后的加密规则为caching_sha2_passwordmyslq8,不支持动态修改密码验证方式
1,进入mysql容器
docker exec -it mysql-test bash
此处mysql-test为镜像名,
2.账号密码登录
mysql -uroot -p 密码
3.修改加密规则 设置新密码
ALTER USER ‘账号’@‘用户域’ IDENTIFIED WITH mysql_native_password BY ‘新密码’
example:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’
4.刷新权限
FLUSH PRIVILEGES
5.navicat新账号密码连接
如果报1045,说明你没使用新密码。
我按照步骤改了几次,还是报2059,后来发现问题,第三步用户域的设置有问题,用户域 我写的是localhost ,但是
%: 全部
localhost : 只允许本地
所以改成
alter user ‘root’@’%’ identified with mysql_native_password by ‘newpassword’;
问题解决。