一般出现这种问题是因为数据库只支持本地连接,所以远程连接会出现错误,我们只需要修改一下数据库的权限即可。
执行以下命令:
docker ps
查看docker中容器的信息
如果执行docker ps命令没有出现想要的容器的信息,在这里是没出现mysql的信息,那是因为你的容器没有运行,那么执行
docker ps -a
会出现所有的容器的信息。
执行以下命令
docker exec -it mysql8 bash
mysql8是上步命令查询出来的mysql的名称。
执行以下命令,然后输入你的mysql的密码。
mysql -uroot -p
之后就进入了mysql中,可以运行mysql的命令。
运行命令:
update user set Host='%' where User='root';
flush privileges;
这样就修改了mysql的权限。之后执行以下命令重启mysql.
docker restart mysql8
这样,再使用navicat进行远程连接docker里面的mysql就能够成功了。