原因:MySQL5.0和MySQL8.0加密方式不同,MySQL5.0加密规则是:mysql_native_password,MySQL8.0加密规则是:caching_sha2_password,所以要统一加密规则。
解决方式:1、升级驱动
2、将MySQL的加密规则还原成mysql_native_password。
这里采用的是第二种方式。
1、先把容器id查出来
docker pas -a
2、进入容器
docker exec -it fcc0cb061292 bash
3、MYSQL命令行
mysql -uroot -p
4、进行授权远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
FLUSH PRIVILEGES;
5、更改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的数据库密码' PASSWORD EXPIRE NEVER;
6、更换root用户密码并刷新权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';
flush privileges;