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

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


问题解释:说明密码验证需要一个加密算法,客户端加密之后到服务端解密,如果客户端版本比较低的话,就没有办法按照服务端要求的方式加密,服务端就没有办法解密密码并验证密码有效性,所以就会给出如上的错误提示。

解决方法:

(本文的mysql是使用docker安装的)

1.进入容器bash并进入mysql命令行

docker exec -it mysql1(容器名) bash

mysql -uroot -p



2.容器中登录mysql,查看mysql的版本

Mysql > status;



3.依次执行命令:

alter user 'root'@'localhost' identified with mysql_native_password by '123456';
(更改密码验证机制)

flush privileges;(刷新权限)



有话要说