Drupal: PDOException: SQLSTATE[HY000] [2002] 连接在 lock_may_be_available() 中被拒绝

Man*_*edi 2 php mysql drupal drupal-7

我尝试在本地服务器上安装 Drupal,一切正常。我在本地主机上安装了 Drupal,然后尝试使用 FileZilla 在我的服务器上传输相同的 Drupal 目录。settings.php根据我的服务器 MySql 设置更改了我的文件,如下所示:

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'manas_drupal',
      'username' => 'XXXXXXX',
      'password' => 'XXXXXXX',
      'host' => '127.0.0.1',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试访问本应安装 Drupal 的网站时,遇到以下错误:

PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available() (line 167 of /home/manasge/manas.getevangelized.com/drupal/includes/lock.inc).
Run Code Online (Sandbox Code Playgroud)

现在,第 167 行lock.inc包含以下函数:

function lock_may_be_available($name) {
  $lock = db_query('SELECT expire, value FROM {semaphore} WHERE name = :name', array(':name' => $name))->fetchAssoc();
  if (!$lock) {
    return TRUE;
  }
  $expire = (float) $lock['expire'];
  $now = microtime(TRUE);
  if ($now > $expire) {
    // We check two conditions to prevent a race condition where another
    // request acquired the lock and set a new expire time. We add a small
    // number to $expire to avoid errors with float to string conversion.
    return (bool) db_delete('semaphore')
      ->condition('name', $name)
      ->condition('value', $lock['value'])
      ->condition('expire', 0.0001 + $expire, '<=')
      ->execute();
  }
  return FALSE;
}
Run Code Online (Sandbox Code Playgroud)

这里似乎出了什么问题?在我的本地主机上一切正常,但我似乎无法让这个东西在我的主主机上工作。作为参考,这是托管我的 Drupal 目录的链接: http://manas.getevangelized.com/drupal/

另外,我已经在 PHPMyAdmin 中定义了一个名为的空数据库manas_drupal。另外,我确保 MySQL 的用户名和密码settings.php输入正确。

Hen*_*ers 6

检查MySQL是否正常运行。

这发生在我身上,因为运行 MySQL 的服务器已经终止了该进程,尽管发生这种情况的具体原因并不相关。当我的 drupal 实例连接到数据库时,出现“连接被拒绝”的情况。

然后我尝试直接连接到数据库,但连接时遇到类似的问题。我在这里发现的一个线程建议重新启动 MySQL。当我检查 MySQL 的状态时,出现以下错误:

$ sudo 服务 mysql 状态

MySQL 未运行,但锁定文件 (/var/lock/subsys/mysql[FAILED]

重新启动后,我的 drupal 实例再次正常工作。