Article ID: 1356, created on Jun 20, 2010, last review on Aug 12, 2014

  • Applies 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.

Attachments

a914db3fdc7a53ddcfd1b2db8f5a1b9c 85a92ca67f2200d36506862eaa6ed6b8 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 aea4cd7bfd353ad7a1341a257ad4724a 0a53c5a9ca65a74d37ef5c5eaeb55d7f 514af229ae32522202a910a2649c80fb bd7fc88cf1b01f097749ae6f87272128 ff5a00b8ead2e480367b019417a04207 c796c01d6951fa24ed54c7f1111667c6

Email subscription for changes to this article
Save as PDF