Docker安装Mysql后无法连接排查过程

1. 查看Mysql是否启动成功

docker ps

正常启动

2. 进入容器连接mysql

docker exec -it c_mysql bash
mysql -uroot -p

发现可以访问
3. 查看并开放权限

mysql> grant all privileges on . to root@'%'; #授权
mysql> flush privileges; #刷新权限表

4. 开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重载
firewall-cmd --reload
#重启
systemctl restart firewalld

5. 宿主机连接mysql

mysql -u root -p

无法连接
6. 查看宿主机的路由有没有开启

sysctl net.ipv4.ip_forward #返回值为1代表路由已开启,为0就是未开启

7.开启宿主机路由

cd /etc/
vim sysctl.conf
net.ipv4.ip_forward = 1 #sysctl.conf中添加

添加保存之后运行:

sysctl -p #加载内核
sysctl net.ipv4.ip_forward #再次查看路由是否开启

宿主机可以正常访问了

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
docker启动MySQL 5.7时无响应,通常有几个可能的原因。首先,请确保你的系统满足MySQL 5.7的最低要求,如硬件和操作系统版本。此外,你可能还需要检查以下几个方面: 1. 检查网络连接:确认你的网络连接正常,并且可以访问Docker Hub来下载MySQL 5.7镜像。你可以尝试使用ping命令测试网络连通性。 2. 检查Docker服务状态:确保Docker服务正在运行,并且没有任何错误或警告。你可以使用以下命令检查Docker服务状态: ``` sudo systemctl status docker ``` 3. 检查镜像下载状态:如果下载MySQL 5.7镜像的过程中出现问题,可能会导致无响应。你可以使用以下命令查看镜像下载的状态: ``` sudo docker images ``` 确保MySQL 5.7镜像已成功下载并显示在列表中。 4. 检查容器状态:如果容器启动后立即退出,可能是由于配置错误或其他原因导致的。你可以使用以下命令检查容器状态: ``` sudo docker ps -a ``` 如果容器的状态是Exited,你可以使用以下命令查看容器的日志输出,以获取更多的错误信息: ``` sudo docker logs <container_id> ``` 替换`<container_id>`为你要查看日志的容器ID。 5. 检查端口映射:如果你在启动容器时指定了端口映射(例如将容器的3306端口映射到主机的3307端口),请确保该端口未被占用。你可以使用以下命令检查端口占用情况: ``` sudo lsof -i :3307 ``` 如果该端口已被占用,你可以尝试使用其他可用的端口。 请根据上述步骤逐一排查并解决问题。如果问题仍然存在,你可以尝试在相关的Docker社区或MySQL社区寻求帮助,提供更详细的错误日志和步骤描述以便他人更好地帮助你解决问题。 :docker pull mysql:5.7 :sudo docker exec -it mysql4 bash :sudo docker run -p 3307:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值