连接到 Drupal 7 上的外部数据库(其他主机)

问题描述 投票:0回答:2

我想连接到 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).

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

php mysql drupal-7 migrate
2个回答
1
投票

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


1
投票

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

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

感谢@fobia

© www.soinside.com 2019 - 2024. All rights reserved.