1.报错描述
在启动docker的容器中mysql报错
mysql -h localhost -u root -p
(输入密码)
后报错
docker MySQL 中ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
2.报错原因说明
此为新版本的MySQL新特性导致,老版本里机密方式为mysql_native_password,导致认证方式有问题。
3.解决方法
(1)进入容器
docker exec -it 容器名称(可通过docker images查询) /bin/bash
(2)登录数据库
mysql -u root -p
(3)修改加密方式
执行相应命令,将用户的加密方式改为mysql_native_password,密码为root 。 执行命令
flush privileges使权限配置项生效。
4.可正常途径启动docker中的mysql
通过 mysql -u root -h localhost -p
(输入密码)
即可正常登录mysql
注:最好先提前查看机器中是否有占用3306端口的进程,若有推荐netstat -an | grep 3306 来查看3306端口占用状态,可通过 kill -15 进程号 来清除。