写在前面
场景中涉及到的机器列表:
机器 |
备注 |
机器GR2_Win10 |
个人电脑2,安装了windows10操作系统机器k8s-master-1这是在机器GR2_Win10 上通过Vmware软件实现的虚拟机 |
场景:
禅道系统(版本为12.3.3)内置的mysql数据库的端口号3306和宿主机机器k8s-master-1的端口号13306做了映射
需求:
机器GR2_Win10上的navicat软件无法连接禅道系统(版本为12.3.3)内置的mysql数据库。
连接的时候报两种错误
错误1:
错误2:
请找出错误原因并解决
步骤一、能否ping通机器k8s-master-1
- 第1步:打开你的cmd窗口
- 第2步:执行ping命令,看下能否ping通
C:\Users\fenglv>ping 192.168.152.100
正在 Ping 192.168.152.100 具有 32 字节的数据:
来自 192.168.152.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.152.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.152.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.152.100 的回复: 字节=32 时间<1ms TTL=64
192.168.152.100 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
如果看到有TTL字样,类似上面的输出内容,说明是可以ping通的,直接跳到步骤二。
如果不能ping通,那就要想办法先解决ping通的问题,问题解决之后跳到步骤二。
步骤二、执行telnet命令看下能否连接上机器k8s-master-1的13306端口号
- 第1步:打开机器GR2_Win10的cmd窗口
- 第2步:执行telnet命令,看下能否连接上
C:\Users\fenglv>telnet 192.168.152.100 13306
如果看到的结果如下,说明无法连接上,继续看步骤三。
步骤三、查看机器k8s-master-1的iptables相关情况及监听端口号
执行命令sudo iptables -n -L -v | grep DOCKER -C 5查看映射的端口号是否已经添加到iptables的放行规则中,如果看到类似下面的结果,说明已经已经添加了。
请注意,docker容器在端口映射时,会自动把映射的宿主机的端口添加到iptables的放行规则中,所以我们可以直接telnet到宿主机的端口。
执行命令sudo netstat -tunpl查看监听的端口号中是否监听了13306端口: