MySQL客户端报错 1251 -Clinent does not support authentication protocol requested by server

问题:1251 -Clinent does not support authentication protocol requested by server
原因:
在网上查的是,出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 

解决:方案二
#运行MySQL镜像
[root@localhost ~]# docker run --name mysql01 -d -it -p3366:3306 -e MYSQL_ROOT_PASSWORD=root c8562eaf9d81
#查看运行镜像
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                               NAMES
4fc4dc693d2d   c8562eaf9d81   "docker-entrypoint.s…"   8 seconds ago   Up 7 seconds   33060/tcp, 0.0.0.0:3366->3306/tcp   mysql01
#进入MySQL镜像
[root@localhost ~]# docker exec -it mysql01 bash
#登录命令
root@4fc4dc693d2d:/# mysql -uroot -proot
#更新密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.23 sec)
#刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 

#测试

客户端连接成功

猜你喜欢

转载自blog.csdn.net/heiiochange/article/details/114108263