背景:
在linux环境下,先安装了docker,然后在docker中下载了mysql镜像,然后设置好了安全组,防火墙,端口映射之后,最后在windows环境下远程连接mysql出错,具体错误如下
错误
使用Navicat连接时报的错误:
1251-Client does not support authentication protocol requested by server; consider upgrading MysQL client
使用cmd连接时报的错误:
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é¡£
解决办法:
- 首先进入mysql容器:
docker exec -it 你的mysql的container_name /bin/bash
例如:docker exec -it mysql01 /bin/bash
- 进入mysql
mysql -uroot -p你的密码
- 修改密码
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
然后糊里糊涂就解决问题了(滑稽)。