为什么我无法连接到远程MySQL数据库?

时间:2012-10-08 21:47:09

标签: php mysql firewall remote-access

  

可能重复:
  how to understand “can't connect” mysql error messages?

我试图遵循我能找到的关于这个主题的每一个教程,但无济于事。我正在尝试通过PHP连接到远程MySQL数据库,但似乎连接超时或其他什么。这是我的PHP代码:

$link = mysql_connect('remote-server-ip:3306', $username, $password);
if($link){
    echo "Connected.";
}else{
    echo "Not connected: ".mysql_error();
}

当我浏览到该页面时,它会在显示此内容之前加载大约30秒:

Warning: mysql_connect(): Can't connect to MySQL server on 'remote-server-ip' (4) in /var/www/vhosts/*****/httpdocs/*****/*****.php on line 6

以下是我在远程服务器上尝试允许此连接所做的事情:

  • 添加了IPtables规则以允许来自我的服务器的连接。
  • 设置my.cnf以侦听所有TCP请求
  • 我的数据库中添加了可以从我服务器的IP
  • 连接的用户

似乎仍然没有任何效果。我真的可以在这里使用一些帮助。

1 个答案:

答案 0 :(得分:1)

如果您等待一段时间,则可能无法访问IP。尝试先ping MySQL服务器。然后尝试在端口3306上telnet到它。你应该得到一个连接。然后看看你是否可以从SQL服务器本身连接MySQL,即本地连接。必须先做基础