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  进程号  来清除。

 

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐