Ошибка установки ilias(на ubuntu 16): база данных недоступна. Пожалуйста, проверьте учетные данные, и если база данных существует
В качестве заголовка я попытался установить ilias на Ubuntu 16.
Когда я создаю новый клиент, в блоке имени базы данных появляется ошибка:
"База данных не может быть достигнута. Пожалуйста, проверьте учетные данные и если база данных существует-" об ошибке
Я попытался переустановить MySQL, и установленные детали показали, что:
"Определение учетных данных локального хоста из /etc/mysql/debian.cnf: успешно."
Поэтому я подумал, что проблема с учетными данными не имеет ошибки.
Но сейчас я настолько растерялся, что как показать, что я делаю, чтобы решить эту ошибку.
Что я должен делать?
2 ответа
Не уверен, что вы все еще работаете над этой проблемой, но есть два шага, которые вы можете выполнить.
Шаг 1: Убедитесь, что ваша система правильно настроена. Проверьте, можете ли вы подключиться к вашей локальной базе данных, выполнив:
mysql -u username -p -h yourHost (yourHost is probably localhost)
Если вы не можете подключиться, вам следует ознакомиться с руководством по mysql о том, как настроить и подключиться к базе данных. Если вы можете подключиться, убедитесь, что у вас есть правильный файл client.ini.php (расположенный в ilias / data / iliasClient), должен выглядеть так:
[db] <-- This is the section you need to look at
type = "innodb"
host = "yourHost"
user = "user"
pass = "password"
name = "db_name"
structure_reload = "0"
(Вы также можете прочитать следующую ветку: https://www.ilias.de/docu/goto_docu_frm_1875_4446.html).
Если это по-прежнему не работает, перейдите к шагу 2.
Шаг 2. Для пользовательских портов или другой нестандартной конфигурации
В следующем потоке обсуждается проблема подключения к БД с использованием нестандартных портов: https://www.ilias.de/docu/goto_docu_frm_1875_4488.html. К сожалению на немецком языке.
Краткая версия решения для этого заключается в том, что, похоже, существует проблема с подключением к mysql с использованием портов, отличных от портов по умолчанию. Проверьте связанный поток для файла исправления, если вы используете не последнюю версию или ILIAS, или обновите последнюю версию в git, которая должна решить проблему.
Недавно я столкнулся с той же проблемой. После изучения я обнаружил, что файл
Database/classes/PDO/class.ilDBPdoMySQL.php
на линии
33
, функция
initSqlMode()
, внутри запроса содержалось недопустимое значение:
NO_AUTO_CREATE_USER
.
Я удалил это значение, и это сработало.
Окончательный фрагмент кода должен выглядеть так:
protected function initSQLMode()
{
$this->pdo->query("SET SESSION sql_mode = 'IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';");
}
(Проверено на ИЛИАС 5.4)