0

我想连接到 Drupal 上另一个主机(不是本地主机)上的外部数据库,因为我想使用迁移模块迁移内容。

那在我的settings.php中

$databases['for_migration']['default'] = array(
  'driver' => 'mysql',
  'database' => 'dbname',
  'username' => 'username',
  'password' => 'password',
  'host' => 'other-host.com',
  'prefix' => '',
  'port' => '',
);

在另一种方法中,我通过以下方式调用数据库:

$query = Database::getConnection('default', 'for_migration')

这就是出现的错误:

PDOException: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'host.com' (13) in    MigrateMigration->__construct() (Zeile 16 von /var/www/html/x/sites/all/modules/migrate_x/x.inc).

因此,如果我在 localhost 上调用数据库,则没有错误,并且所有迁移都完美。但我无法连接到外部主机上的数据库。

4

2 回答 2

1

是我的错。我已将远程服务器上的 httpd_can_network_connect 设置为打开。

但解决方案是将它设置在我的本地机器上。之后,我可以连接到外部主机。所以这是一个 SELinux 问题。

感谢@fobia

于 2013-07-09T12:30:06.443 回答
1

这可能是由于:1)连接限制(例如防火墙块)。2)您使用的帐户不允许在“localhost”之外登录。在这种情况下,您必须在 'mysql' 数据库中的 'user' 表上为 '%' (这意味着任何地址)或您正在访问的机器 IP 地址编辑您的帐户主机名掩码。

于 2013-06-28T16:23:26.703 回答