场景:在虚拟机的docker容器中安装latest版本的mysql之后,在宿主机中使用navicat连接虚拟机中的mysql出现下图报错:
在这里插入图片描述1、首先docker ps命令查看正在运行的容器,确保我们想要连接的mysql已经启动,如果没启动使用docker start命令启动,并且我么可以看到容器id
在这里插入图片描述

2、接着运行docker exec -it 自己的容器mysql的ID /bin/bash进入mysql容器
3、再接着输入mysql -u root -p命令,然后输入自己的密码
4、对远程连接进行授权:

mysql> GRANT ALL ON *.* TO 'root'@'%';

5、更改密码的加密规则:

mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

6、更改root的密码:

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

7、刷新权限:

mysql> flush privileges;
然后输入exit退出即可直到来到这个界面

在这里插入图片描述

8、最后重启mysql

docker stop mysql容器的名字或ID(mysql102)
docker start mysql容器的名字或ID(mysql102)

9、测试
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐