1

我想连接我的 php 应用程序(在我的办公室),我的数据库在我家,

mysql_connect('119.92.59.55','root','lester1992') 

但他们不互相交流(我的电脑和我的办公室终端),可能是什么问题?

这是我遇到的错误。

mysql_connect():连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接的主机没有响应,建立连接失败。

提前致谢。

4

4 回答 4

1

您需要在 mysql 中授予访问权限才能从远程主机访问。

GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'your_office_ip_address'
IDENTIFIED BY 'newpassword';
于 2014-02-26T05:51:25.757 回答
0

默认情况下,mysql 不允许您的用户使用您的 IP。

您想允许使用与此类似的命令进行访问(请记住,这是非常不安全的):

GRANT ALL PRIVILEGES
ON database.*
TO 'root'@'119.92.59.55'
IDENTIFIED BY 'lester1992';
于 2014-02-26T06:02:50.870 回答
0

要连接到 MySQL 数据库,必须满足三件事:

  • 登录
  • 密码
  • 主持人

默认情况下,root配置为localhost仅允许来自主机名的连接。您可以编辑表格mysql.user并将root'Host更改%为允许来自任何对等方的连接。

UPDATE mysql.user SET Host = '%' WHERE User = 'root';

不要忘记FLUSH PRIVILEGES在更改后运行以使其立即生效。

此外,您的防火墙和路由器必须配置为可以连接到端口 3306。您可以使用诸如此类的在线测试工具检查您的端口 3306 是否可以访问。

于 2014-02-26T05:54:59.133 回答
0

如果您不想为所有 IP 打开您的数据库,那么您应该为特定 IP 分配权限。

GRANT ALL PRIVILEGES ON db.* TO 'user'@'your_office_ip' IDENTIFIED BY 'newpassword';

注意:您可以通过以下链接获取您的办公室 IP,它会显示您当前的 IP:

http://www.whatismyip.com/

于 2014-02-26T07:24:06.287 回答