【问题标题】:Unable to connect through mysql on other server无法通过其他服务器上的mysql连接
【发布时间】:2016-05-24 14:47:42
【问题描述】:

我有两台 Linode 服务器,一台服务器上有 drupal 文件结构,另一台服务器上有数据库。

我想通过数据库连接但不能。

在我的主机文件中 mysql xxx.xxx.xxx.xxx(我的数据库服务器ip)

设置.php

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => '*****',
      'username' => '*****',
      'password' => '*****',
      'host' => 'mysql',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

在 my.conf 文件中 bind-address = xxx.xxx.xxx.xxx(数据库服务器地址)

在 my.conf 中进行此更改后,我无法在此服务器上启动 mysql。

我做错了什么或忘记配置?

【问题讨论】:

  • 首先将 bind-address 设置为 0.0.0.0 进行 test 。在服务器启动本地登录并为用户设置 GRANTS 后。我几乎认为他只能来自 127.0.0.1 或 localhost

标签: mysql drupal-7


【解决方案1】:

虽然这不是最安全的方法,但它可以正常工作: 在您的数据库服务器上,确保您为 MySQL 设置的绑定地址设置为 0.0.0.0。这将使其在所有 IP 上运行,并且不绑定到 localhost,只能从其自身 (127.0.0.1) 访问。

使用 Drupal 的服务器不需要安装 MySQL。在您的 Drupal 设置中(之前没有在 Drupal 中配置特定的数据库地址,所以我不知道该选项),将您的数据库地址更改为您的 MySQL 服务器的 IP 地址。我假设它以前被设置为 127.0.0.1,又名 localhost。设置后,它应该可以正常工作。请务必使用您的数据库服务器的私有 IP 地址。

理想情况下,您希望将数据库配置为允许对 Drupal 服务器的 IP 地址进行特定访问,因为将其设置为 0.0.0.0 可能会使它比预期的更开放(尽管仍然受密码保护,假设您在设置期间这样做了) .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2013-08-24
    • 2015-02-23
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    相关资源
    最近更新 更多