mysql报错:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
环境:centos 7.4.1708
docker版的mysql版本:8.0.28
一、故障现象
二、故障原因
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在最新的 docker mysql 8.0+ 以上版本, 新的加密规则更换为了 caching_sha2_password。
三、解决办法
把mysql用户登录密码加密规则还原成 mysql_native_password 模式
3.1 进入容器
[root@wangzy ~]# docker exec -it 011ade47daa8 /bin/bash bash-4.4# mysql -h127.0.0.1 -uroot -p Enter password:
3.2 修改加密规则
# 1、进入容器 [root@wangzy ~]# docker exec -it 011ade47daa8 /bin/bash # 2、连接mysql并输入密码 bash-4.4# mysql -h127.0.0.1 -uroot -p Enter password: # 3、修改规则 mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; mysql> FLUSH PRIVILEGES; mysql> quit # 4、退出容器 bash-4.4# exit # 5、再次验证 [root@wangzy ~]# mysql -h127.0.0.1 -uroot -p Enter password: MySQL [(none)]>
完结。