Docker Mysql 远程连接出现 Client does not support authentication protocol requested by server
连接错误图:
无法连接,在docker 内是可以连接mysql 服务的,是没有问题,并且安全组也配置过了 3306端口。
在网上一堆搜索,发现并没有什么用,可能是 mysql 8.0的版本的原因吧。
解决方法:
设置mysql远程连接权限:
1、进入容器:docker exec -it mysqlserver /bin/bash
2、进入msyql:mysql -uroot -p
3、授权:mysql> GRANT ALL ON *.* TO 'root'@'%';
4、刷新权限:mysql> flush privileges;
5、更新加密规则:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
6、更新root用户密码:mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
7、刷新权限:mysql> flush privileges;
然后再去连接,就提示连接成功了。