MySQL远程访问麻烦?

时间:2012-07-11 15:02:50

标签: php mysql

我在godaddy服务器上设置了数据库。它被配置为允许远程访问,并且我正在运行几个需要访问此数据的网站。当从另一个godaddy站点访问时它可以工作,我可以在工作和家庭中从我的开发环境连接。我们最近与mydomain.com建立了托管服务。

以下是触发它的代码块:

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'@'%'具有足够的权限。不是它对我有任何帮助,但也许它会帮助一些人。 [/编辑]

1 个答案:

答案 0 :(得分:1)

自从我提出这个问题已经一年多了,我想我只需要回答就可以解决它。

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