错误现象
通过docker部署mysql 8.0.17后,第一次通过Navicat等客户端登录时会报如下错误:
2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found
错误原因
从mysql5.7版本之后,默认采用了caching_sha2_password验证方式。
解决办法:
1. 进入mysql容器
docker exec -it mysql8 /bin/bash
或者通过rancher管理界面执行命令行
2. 进入mysql
mysql -uroot -p
3. 修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mypassword';