在学习使用docker的时候,使用navicat连接虚拟机内docker容器内的Mysql报错,在这里分享一下解决办法,希望可以帮助到遇到这个问题的朋友。
解决方案:
进入容器:
docker exec -it 62349aa31687 /bin/bash
进入mysql:
mysql -uroot -p
授权:
mysql> GRANT ALL ON . TO ‘root’@’%’;
刷新权限:
mysql> flush privileges;
更新加密规则:
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
更新root用户密码:
mysql> ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
刷新权限:
mysql> flush privileges;
到这里问题就解决了,出现这个问题的原因是因为,mysql8之后更改了关于password的安全设置,将其修改就好。