在Vagrant框外连接MySQL

时间:2017-07-08 02:08:57

标签: php mysql linux vagrant virtual-machine

我试着sudo netstat -natp | grep mysql看看mysql正在监听什么端口,我发现它实际上是在监听下面的内容。我还做了一个ifconfig,看看我在流浪盒内的ip是什么。我试图找到这些信息,以便我可以通过流浪汉虚拟机连接到mysql数据库,但在一个开箱即用的laravel应用程序内的.env中使用该信息。有人可以帮忙吗?

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LIST

1 个答案:

答案 0 :(得分:1)

在/etc/my.cnf中,确保您具有以下配置:

1)如果该行存在,则将其注释掉,因为它会阻止外部访问

#skip-networking

2)将bind-address设置为如下,如果设置为locahost,则只能进行本地连接:

bind-address=0.0.0.0

3)使用以下命令重启MySQL:

sudo service mysql restart

这应该这样做。

如果它没有,那么您可能需要考虑防火墙。如果您使用的是默认iptables,请运行:

iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

要验证端口是否已打开,可以从外部主机(而不是VM)运行:

nmap <vm-ip-address-here> 

如果你没有看到3306打开,你还有其他不寻常的网络问题。