MySQL远程访问麻烦?

问题描述:

我有一个在godaddy服务器上设置的数据库。它被配置为允许远程访问,并且我正在运行一些需要访问这些数据的网站。它可以从另一个godaddy网站访问,并且可以在工作和家中从我的开发环境进行连接。我们最近设置了与mydomain.com的托管。MySQL远程访问麻烦?

这里是代码块触发它:

function connect(){ 
    $servername = "XX.XX.XXX.XX"; 
    $dbusername = "databaseusername"; 
    $dbpassword = "mahpassword"; 
    $dbname = "databasename"; 
    try{ 
     $newMysql = new PDO("mysql:host=".$servername.";dbname=".$dbname, $dbusername, $dbpassword); 
    } 
     catch(PDOException $e){ 
     echo 'connection Failed: '. $e->getMessage(); 
     die; 
    } 
} 

,现在我在新网站上收到此错误信息:

connection Failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XX.XX.XXX.XX' (111) 

我能想到的唯一的问题是,或者由于某种原因,MySQL数据库默认连接到的IP地址数量有限(这看起来很狼狈),我被MySQL服务器上的防火墙阻止(再次......对我来说没有意义) ,或者在mydomain托管服务器上有一些设置禁止远程请求(?)

我是新来的这种事情,所以我打开任何建议。我可能只是在新网站上设置了另一个数据库,但如果我不需要,我不希望让它们保持同步的麻烦。什么可能是错的?有没有解决方法?

[编辑]通过控制台(mysql -h XX.XX.XXX.XX ...)连接到远程数据库 ,所述特权被INFORMATION_SCHEMA信息数据库下找到,一个快速select * from SCHEMA_PRIVILEGESselect * from USER_PRIVILEGES表明'databaseusername'@'%'具有足够的特权。这并不是说它对我有帮助,但也许它会帮助某个人。

+5

“无法连接”消息可能是防火墙块。验证您的主机允许远程连接,但很多情况下不允许。 – 2012-07-11 15:04:14

+0

你可以从控制台运行'mysql -h XX.XX.XXX.XX -u databaseusername -p'吗? – 2012-07-11 15:13:15

+0

是的,从控制台运行。 – Riet 2012-07-11 15:23:06

由于我问了这个问题已经有一年多了,我想我只需要回答它就可以关闭它。

事实证明,godaddy通过防火墙阻止了mydomain.com服务器(“远程访问”是有限的)。所以为了完成我想要做的事情,我必须在两个站点上复制和存储数据库。