最近在使用docker安装mysql时遇到了连接不上的问题,经过一番搜索和尝试终于解决了,现在将解决过程分享给大家。
首先,我们需要在docker中运行mysql,可以使用以下命令进行安装:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
该命令会从docker hub上面下载mysql镜像,并创建一个叫做mysql的容器。
接下来,我们需要使用客户端工具来连接mysql,这里我选择了Navicat Premium。
在Navicat Premium中,我们需要创建一个新的连接:
主机/Socket地址: 127.0.0.1端口: 3306用户名: root密码: 123456
接下来,我们尝试连接mysql,但是发现一直连接不上,提示“Can't connect to MySQL server on '127.0.0.1' (10061)”。
经过一番排查,我发现原因是mysql的默认配置不允许远程连接。
为了解决这个问题,我们需要进入mysql容器中进行配置。
使用以下命令进入mysql容器:
docker exec -it mysql bash
进入容器后,使用以下命令进入mysql:
mysql -uroot -p
进入后,使用以下命令进行远程连接配置:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';FLUSH PRIVILEGES;
执行完以上命令后,退出mysql:
exit
退出容器:
exit
现在我们重启mysql容器:
docker restart mysql
然后在Navicat Premium中重新连接mysql,现在成功连接了!