Веб-почта Horde выдает ошибку: DB Error: connect failed

Создана:

2016-11-16 13:17:39 UTC

Изменена:

2017-08-16 17:21:47 UTC

1

Помогла ли вам статья?


Есть вопросы?

Отправить запрос

Веб-почта Horde выдает ошибку: DB Error: connect failed

Applicable to:

  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.0 for Windows
  • Plesk 10.4 for Windows

Симптомы

При попытке входа в веб-почту Horde возникает ошибка:

    A fatal error has occurred
DB Error: connect failed
    Details have been logged for the administrator.)

Причина

Такая ошибка возникает, когда Horde не может подключиться к хранилищу баз данных. Интегрированная в Plesk версия Horde использует клиентский сервер mysql. Точная причина, по которой службе horde не удалось установить подключение, указана в файле C:\Windows\Temp\horde.log . Ниже приведен список основных причин:

В файле C:\Windows\Temp\horde.log может присутствовать следующая ошибка:

  1. Сервер MySQL отключен:

    HORDE [emergency] [horde] DB Error: connect failed:  [nativecode=Can't connect to MySQL server on 'localhost' (10061)] ** Array [on line 1259 of "C:\Inetpub\vhosts\webmail\horde\lib\Horde\DataTree\sql.php"]
    
  2. Сервер 'servername' не существует:

    HORDE [emergency] [horde] DB Error: connect failed:  [nativecode=Unknown MySQL Server Host 'servername' (11004)] ** Array [on line 1259 of "C:\Inetpub\vhosts\webmail\horde\lib\Horde\DataTree\sql.php"]
    

    .

  3. Неправильно указаны параметры доступа к серверу MySQL:

    HORDE [emergency] [horde] DB Error: connect failed:  [nativecode=Access denied for user 'horde'@'localhost' (using password: YES)] ** Array [on line 1259 of "C:\Inetpub\vhosts\webmail\horde\lib\Horde\DataTree\sql.php"]
    
  4. Данная база данных Horde не существует:

    HORDE [emergency] [horde] DB Error: no such database:  [nativecode=Unknown database 'horde'] ** Array [on line 1259 of "C:\Inetpub\vhosts\webmail\horde\lib\Horde\DataTree\sql.php"]
    

Решение

Откройте конфигурационный файл Horde %plesk_vhosts%webmail\horde\config\conf.php

Найдите раздел $conf['sql'] . Проверьте следующие переменные:

    $conf['sql']['phptype'] – type of SQL server 
    $conf['sql']['port'] – port for connection
    $conf['sql']['protocol'] – protocol for connection
    $conf['sql']['hostspec'] – SQL server IP address or FQDN
    $conf['sql']['username'] – SQL user for horde authentication
    $conf['sql']['password'] – SQL user password
    $conf['sql']['database'] – horde database in SQL server
    $conf['sql']['charset'] – MySQL character set

Пример раздела $conf['sql'] .

    $conf['sql']['phptype'] = 'mysql';
    $conf['sql']['port'] = 3306;
    $conf['sql']['protocol'] = 'tcp';
    $conf['sql']['hostspec'] = 'localhost';
    $conf['sql']['username'] = 'horde';
    $conf['sql']['password'] = 'webmail639';
    $conf['sql']['database'] = 'horde';
    $conf['sql']['charset'] = 'utf-8';
  1. Проверьте сервер MySQL в $conf['sql']['hostspec'] . Он должен быть запущен.

  2. Укажите правильный адрес сервера в $conf['sql']['hostspec'] .

  3. Настройте $conf['sql']['username'] и $conf['sql']['password'] на сервере MySQL. Для этого подключитесь к $conf['sql']['hostspec']: $conf['sql']['port'] (например, localhost:3306) как администратор сервера SQL и выполните следующие запросы:

    mysql> REPLACE INTO `mysql`.`user` VALUES ('%','horde',password('password'),'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0);
    
     mysql> REPLACE INTO `mysql`.`tables_priv` VALUES ('%','horde','horde','horde_users','root@localhost','2006-07-19 12:15:26','Select,Insert,Update,Delete',''),('%','horde','horde','horde_prefs','root@localhost','2006-07-19 12:15:26','Select,Insert,Update,Delete',''),('%','horde','horde','horde_datatree','root@localhost','2006-07-19 12:15:26','Select,Insert,Update,Delete',''),('%','horde','horde','horde_datatree_attributes','root@localhost','2006-07-19 12:15:26','Select,Insert,Update,Delete',''),('%','horde','horde','horde_tokens','root@localhost','2006-07-19 12:15:26','Select,Insert,Update,Delete',''),('%','horde','horde','horde_vfs','root@localhost','2006-07-19 12:15:26','Select,Insert,Update,Delete',''),('%','horde','horde','turba_objects','root@localhost','2006-07-19 12:15:27','Select,Insert,Update,Delete','');
    
    mysql> FLUSH PRIVILEGES;
    

Пароль должен соответствовать $conf['sql']['password'] .

  1. Пересоздайте базу данных Horde. Это можно сделать с помощью прикрепленного ниже файла. Подключитесь к серверу MySQL как администратор сервера SQL и вызовите файл horde.zip .

Вложения:

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 3
Еще есть вопросы? Отправить запрос
Войдите в службу, чтобы оставить комментарий.