错误如下:
原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式
解决方案:修改用户(root)的加密方式
1.进入mysql容器内部,在docker中输入
docker exec -it mysql02 bash
2.登录mysql
mysql -u root -p
如图所示输入123456回车即可
3.设置用户配置项
(1)查看用户信息
select host,user,plugin,authentication_string from mysql.user;
(2)修改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456是mysql的登录密码
(3)再次查看用户信息
select host,user,plugin,authentication_string from mysql.user;
(4)再次使用Navicate等数据库软件连接,成功
(5)补充:如果要正常退出不关闭容器,可以通过按Ctrl+P+Q进行退出容器
从mysql中退出容器:Ctrl+D,按两次
借鉴自“简书”:https://www.jianshu.com/p/07a37159f85c
在此感谢作者:tengxt