公共IP地址作为mysql_connect()中的主机名

时间:2014-02-26 05:48:22

标签: php mysql mysql-connect

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

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

但他们没有互相沟通(我的comp和我的办公室终端),可能是什么问题?

这是我遇到的错误。

  

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

提前感谢。

4 个答案:

答案 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:

http://www.whatismyip.com/