我想连接我的php应用程序(在我的办公室),我的数据库在我家,
mysql_connect('119.92.59.55','root','lester1992')
但他们没有互相沟通(我的comp和我的办公室终端),可能是什么问题?
这是我遇到的错误。
mysql_connect():连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败。
提前感谢。
答案 0 :(得分:1)
您需要在mysql中授予访问权限才能从远程主机访问。
GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'your_office_ip_address'
IDENTIFIED BY 'newpassword';
答案 1 :(得分:0)
要连接到MySQL数据库,必须满足以下三个条件:
默认情况下,root
配置为仅允许来自主机名localhost
的连接。您可以修改表mysql.user
并将root
的{{1}}更改为Host
,以允许来自任何对等方的连接。
%
不要忘记在更改后运行UPDATE mysql.user SET Host = '%' WHERE User = 'root';
,以使其立即生效。
此外,您的防火墙和路由器必须配置为可以连接到端口3306。您可以使用this one等在线测试工具来检查您的端口3306是否可以访问。
答案 2 :(得分:0)
默认情况下,mysql不允许您的用户使用您的IP。
您希望允许使用与此类似的命令进行访问(请记住这是非常不安全的):
GRANT ALL PRIVILEGES
ON database.*
TO 'root'@'119.92.59.55'
IDENTIFIED BY 'lester1992';
答案 3 :(得分:0)
如果您不想为所有IP打开数据库,那么您应该为特定IP分配权限。
GRANT ALL PRIVILEGES ON db.* TO 'user'@'your_office_ip' IDENTIFIED BY 'newpassword';
注意:您可以通过以下链接获取办公室IP,它会显示您当前的IP: