In /etc/my.cnf, make ensure you have the following configuration:
1) Comment out this line if it's present, as it prevents external access
#skip-networking
2) Set bind-address to as follows, if set to locahost, only local connections will be possible:
bind-address=0.0.0.0
3) Restart MySQL with:
sudo service mysql restart
This should do it.
If it doesn't then you may have a firewall consideration to take care of. If you're on the default iptables, then run:
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
To verify the port is open, from your external host (not the VM) you can run:
nmap <vm-ip-address-here>
If you don't see 3306 open, you have other uncommon networking issues.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…