php - MySQL远程访问麻烦?

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

最佳答案

因为我问这个问题已经一年多了,我想我需要回答它才能关闭它。

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

关于php - MySQL远程访问麻烦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435598/

相关文章:

php - 如何将 Smarty 3 包含到 Laravel 4 中?

c# - 创建 Controller 时为"Exception has been thrown by target of invocation"(带有MySql的ASP.NET MVC 5)

mysql - 在 HAVING 子句中无法识别列 ALIAS,未知列错误

mysql - QueryDSL:比较数组

php - 根据特定的列值选择所有相同的列php pdo mysql

php - Yii:默认范围应用两次来连接查询

php - 在 php 中动态创建文件(扩展名问题)

php - PHP 帮助下的动态复选框

mysql - SQL 查询选择最近 15 分钟的数据

php - 如果值在 foreach 循环 + php 中不匹配则跳过步骤