客户端无法连接mysql,authentication protocol问题

客户端无法连接mysql的问题

错误提示:client does not support authentication protocol requested by server

问题解释:说明密码验证需要一个加密算法,客户端加密之后到服务端解密,如果客户端版本比较低的话,就没有办法按照服务端要求的方式加密,服务端就没有办法解密密码并验证密码有效性,所以就会给出如上的错误提示。
解决方法:
(本文的mysql是使用docker安装的)
1.进入容器bash并进入mysql命令行
docker exec -it mysql1(容器名) bash
mysql -uroot -p
客户端无法连接mysql,authentication protocol问题

2.容器中登录mysql,查看mysql的版本
Mysql > status;
客户端无法连接mysql,authentication protocol问题

3.依次执行命令:
alter user ‘root’@’%’ identified with mysql_native_password by ‘123456’(自定义的密码);(更改密码验证机制)
flush privileges;(刷新权限)
客户端无法连接mysql,authentication protocol问题
客户端无法连接mysql,authentication protocol问题

到此设置完成,即可使用工具连接数据库。