首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal: PDOException: SQLSTATE[HY000] [2002] lock_may_be_available()中的连接被拒绝

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

Stack Overflow用户
提问于 2015-09-28 00:20:38
回答 2查看 12.2K关注 0票数 1

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

代码语言:javascript
复制
$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'manas_drupal',
      'username' => 'XXXXXXX',
      'password' => 'XXXXXXX',
      'host' => '127.0.0.1',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

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

代码语言:javascript
复制
PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available() (line 167 of /home/manasge/manas.getevangelized.com/drupal/includes/lock.inc).

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

代码语言:javascript
复制
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;
}

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

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

EN

回答 2

Stack Overflow用户

发布于 2019-03-11 18:47:01

检查MySQL是否正常运行。

这发生在我身上是因为运行MySQL的服务器已经终止了进程,尽管为什么会发生这种情况的细节并不相关。当我的drupal实例连接到数据库时,得到的结果是“连接被拒绝”。

然后,我尝试直接连接到数据库,但我也遇到了类似的问题。我在here上找到的一个帖子建议重启MySQL。当我检查MySQL的状态时,它给了我以下错误:

$ sudo服务mysql状态

MySQL未运行,但锁定文件(/var/ lock /subsys/mysqlFAILED

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

票数 4
EN

Stack Overflow用户

发布于 2015-09-28 18:14:06

你的数据库不应该是空的,从localhost中导出你的数据库,然后把它导入你的在线服务器的空数据库中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32810095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档