碰到一个运维问题,目标是需要远程访问mysql,花了一些时间总算搞定,聊作记录。
场景是远程有一台物理服务器WinServer2012,里头用VMware装了若干台Ubuntu 16.04虚拟机,虚拟机网络采样NAT方式,在虚拟机里搭的mysql,3306端口,在虚拟机内部通过localhost或者127.0.0.1是可以访问的,外网无法访问。
外网要访问虚拟机里的mysql在3306端口的服务,需要做好三件事情:
1. 将物理主机(假定ip为202.113.xxx.xxx)的一个端口(这里用13306)映射到虚拟机的3306端口
2. 物理服务器和虚拟机的防火墙设置,确保物理主机的13306端口外网能访问,确保虚拟机的3306端口能通过主机访问。
3. mysql远程访问权限设置以及ip绑定修改
1. 端口映射
在VMware中设置端口映射,首先在虚拟机里通过ifconfig查看虚拟机在局域网中的ip,这里我用192.168.56.133,有时候多个局域网地址不知道该用哪个,先看看VMware里NAT的子网地址,比如这里是192.168.56.0,那么就选属于这
个子网的那个ip。