问题

使用iTerm2连接通过Docker运行的MySQL容器,命令为mysql -h*.*.*.* -uroot -p123456 -P 5555(ps:此处为宿主机的5555端口映射到mysql容器的3306端口)报错如下:

mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

同样,在使用Navicat连接mysql容器时,同样报错如下:

Client does not support authentication protocol requested by server; consider upgrading MySQL client.

这里写图片描述

解决方案

各种尝试,最终在stackoverflow找到解决方案,如下:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

示例:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

附上链接地址:点击直达

Logo

更多推荐