学习docker 配置mysql中,
用navicat链接云服务器docker mysql是报错: dockerAuthentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found
网上解决方案总结来说:需要将mysql的密码校验机制修改成旧版本的。
可以解决,但是对于学习新手注意,执行数据库语句时,注意数据后面的分号不能省略,否则后面不报错,你还以为自己自己执行成功了。后面有我操作的事例。
我的操作:
1.docker ps 查看
2.docker exec -it home_mysql2_1 bash (为我的容器名字,也可以是ID,1里的命令可以查看到)
3.登录mysql,查询用户身份验证插件(分号不能省略),
mysql --user=root --password use mysql select user,host,plugin,authentication_string from user;
4.更新root用户密码(分号不能省略),再查询下用户身份验证插件,确认修改成功, 做到心中有数
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
5.测试连接成功
6.如果是本地连接 需要把localhost的密码也更新下,参考命令:
ALTER USER '账号'@'用户域' IDENTIFIED WITH mysql_native_password BY '新密码';
用户域
%: 全部
localhost : 只允许本地



