VMware中mysql无法连接端口3306不通
虚拟机内部可正常访问,docker网络3306端口正常映射,外部通过22端口也正常连接,但是外部无法连接到mysql。
ip addr 查看ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:56:f2:ef brd ff:ff:ff:ff:ff:ffinet 192.168.199.129/24 brd 192.168.199.255 scope global noprefixroute dynamic ens33valid_lft 1464sec preferred_lft 1464secinet6 fe80::cacb:2aa8:94cb:e2b4a/64 scope link noprefixroute valid_lft forever preferred_lft forever
可用看出这个v4地址192.168.199.129/24是nat后分配的,不是简单的局域网,但是通过这个地址可用用xshell访问到虚拟机,是虚拟化软件(如 VMware/VirtualBox)默认开启了 22 端口的 NAT 转发。
而虚拟化软件没有自动设置 3306 端口的转发规则
解决方法:
VMware Workstation/Player
关闭虚拟机
右键虚拟机 → 设置 → 网络适配器
点击 “NAT 设置” → 添加
填写端口转发规则:
text
主机端口: 3306 (或任何空闲端口)
类型: TCP
虚拟机 IP 地址: 192.168.199.129
虚拟机端口: 3306
保存并启动虚拟机