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