Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 连接到流浪盒外的MySQL_Php_Mysql_Linux_Vagrant_Virtual Machine - Fatal编程技术网

Php 连接到流浪盒外的MySQL

Php 连接到流浪盒外的MySQL,php,mysql,linux,vagrant,virtual-machine,Php,Mysql,Linux,Vagrant,Virtual Machine,我尝试使用sudo netstat-natp | grep-mysql来查看mysql在监听什么端口,我看到它实际上在监听下面的内容。我还做了一个ifconfig来查看我在“流浪者”框中的ip地址。我试图找出这些信息,这样我就可以通过一个游荡的虚拟机连接到mysql数据库,但在一个现成的laravel应用程序内部的.env中使用这些信息。有人能帮忙吗 tcp 0.0.0.0:3306 0.0.0.0:*在/etc/my.cnf中列出,确保您具有以下配置: 如果这一行存在,请将其注释掉,因为它会阻

我尝试使用sudo netstat-natp | grep-mysql来查看mysql在监听什么端口,我看到它实际上在监听下面的内容。我还做了一个ifconfig来查看我在“流浪者”框中的ip地址。我试图找出这些信息,这样我就可以通过一个游荡的虚拟机连接到mysql数据库,但在一个现成的laravel应用程序内部的.env中使用这些信息。有人能帮忙吗


tcp 0.0.0.0:3306 0.0.0.0:*在/etc/my.cnf中列出

,确保您具有以下配置:

如果这一行存在,请将其注释掉,因为它会阻止外部访问

#skip-networking
2将绑定地址设置为如下,如果设置为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打开,则会出现其他不常见的网络问题。

还要确保在.env文件中设置了VM的IP地址,而不是127.0.0.1。很可能是在192.168.x.x范围内。非常感谢你的帮助。我们看看这能不能帮到我