Проблема при установке Moodle 3.5.2

Проблема при установке Moodle 3.5.2

от Александр ... -
Количество ответов: 16

На чистую FreeBSD 11 устанавливаю  Moodle 3.5.2 скачанную с оф.сайта. В процессе получаю ошибку:

Error writing to database

More information about this error

It is usually not possible to recover from errors triggered during installation, you may need to create a new database or use a different database prefix if you want to retry the installation.

×Debug info: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
INSERT INTO mdl_message_providers (name,component,capability) VALUES(?,?,?)
[array (
0 => 'assign_notification',
1 => 'mod_assign',
2 => NULL,
)]
Error code: dmlwriteexception
×Stack trace:
  • line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 341 of /lib/messagelib.php: call to mysqli_native_moodle_database->insert_record()
  • line 792 of /lib/upgradelib.php: call to message_update_providers()
  • line 512 of /lib/upgradelib.php: call to upgrade_plugins_modules()
  • line 1857 of /lib/upgradelib.php: call to upgrade_plugins()
  • line 694 of /admin/index.php: call to upgrade_noncore()
В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Vadim Tabunshchik -
Изображение пользователя Developers

Гугл не помогает поиском по «InnoDB+BINLOG_FORMAT? улыбаюсь

MySQL неправильно настроен. Вместо STATEMENT напишите mixed или row, или вообще закомментируйте эту строку, MySQL сам разберется, в каком формате логи хранить.

Видать конфиг MySQL откуда-то скопипастили, не глядя? улыбаюсь)

В ответ на Vadim Tabunshchik

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

my.cnf

все по умолчанию добавил только -

[client]
default-character-set = utf8mb4

[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix

character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake

[mysql]
default-character-set = utf8mb4

 

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

без этих строк в my.cnf (все по умолчанию) получаю:

mysql_full_unicode_support#File_format

В вашей базе данных есть таблицы с использованием формата файла Antelope. Полная поддержка UTF-8 в MySQL и MariaDB требует формата файла Barracuda. Преобразуйте таблицы в формат файла Barracuda. Подробнее об инструменте преобразования таблиц InnoDB в Barracuda см. в документации Полная поддержка unicode в MySQL.

  Проверьте
mysql_full_unicode_support#Large_prefix

Для полной поддержки UTF-8 MySQL и MariaDB требуется изменить настройку MySQL «innodb_large_prefix» на «ON». Дополнительную информацию см. в документации.

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Vadim Tabunshchik -
Изображение пользователя Developers
все по умолчанию добавил только

Это всё понятно и верно.

А что с параметром binlog_format? Закомментирован/Изменен? Сервер mysql перезапускали? Старая база данных moodle удалена? Новую инсталляцию запускали?

В ответ на Vadim Tabunshchik

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

binlog_format в моем my.cnf отсутствует 

mysql перезапускали

все ставится на новую базу

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Vadim Tabunshchik -
Изображение пользователя Developers

Ну, и… опять та же ошибка?

В ответ на Vadim Tabunshchik

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

да, ошибка 

Ошибка записи в базу данных

Подробнее об этой ошибке

Обычно не представляется возможным исправить ошибки, возникшие во время установки. Возможно, потребуется создать новую базу данных или использовать другой префикс базы данных, если Вы захотите повторить установку.

×Debug info: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
INSERT INTO mdl_message_providers (name,component,capability) VALUES(?,?,?)
[array (
0 => 'notices',
1 => 'moodle',
2 => 'moodle/site:config',
)]
Error code: dmlwriteexception
×Stack trace:
  • line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 341 of /lib/messagelib.php: call to mysqli_native_moodle_database->insert_record()
  • line 1745 of /lib/upgradelib.php: call to message_update_providers()
  • line 276 of /admin/index.php: call to install_core()
В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

после обновления страницы 
Site is being upgraded, please retry later.

 

Через 5 минут опять обновил страничку и вижу что пошла проверка плагинов, внизу кнопка "обновить", прошло секунд 30 и  Обновление до новой версии и

mod_assign

Ошибка записи в базу данных

Подробнее об этой ошибке

Обычно не представляется возможным исправить ошибки, возникшие во время установки. Возможно, потребуется создать новую базу данных или использовать другой префикс базы данных, если Вы захотите повторить установку.

×Debug info: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
INSERT INTO mdl_message_providers (name,component,capability) VALUES(?,?,?)
[array (
0 => 'assign_notification',
1 => 'mod_assign',
2 => NULL,
)]
Error code: dmlwriteexception
×Stack trace:
  • line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 341 of /lib/messagelib.php: call to mysqli_native_moodle_database->insert_record()
  • line 792 of /lib/upgradelib.php: call to message_update_providers()
  • line 512 of /lib/upgradelib.php: call to upgrade_plugins_modules()
  • line 1857 of /lib/upgradelib.php: call to upgrade_plugins()
  • line 694 of /admin/index.php: call to upgrade_noncore()

 

(Freebsd 11 x64, apache24 php72 mysql56, 8gb ОЗУ)

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

нажал F5 опять вижу Site is being upgraded, please retry later.

жду.

через пару минут

Обновление до новой версии

mod_assignment

Ошибка записи в базу данных

Подробнее об этой ошибке

Обычно не представляется возможным исправить ошибки, возникшие во время установки. Возможно, потребуется создать новую базу данных или использовать другой префикс базы данных, если Вы захотите повторить установку.

×Debug info: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
INSERT INTO mdl_message_providers (name,component,capability) VALUES(?,?,?)
[array (
0 => 'assignment_updates',
1 => 'mod_assignment',
2 => NULL,
)]
Error code: dmlwriteexception
×Stack trace:
  • line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 341 of /lib/messagelib.php: call to mysqli_native_moodle_database->insert_record()
  • line 792 of /lib/upgradelib.php: call to message_update_providers()
  • line 512 of /lib/upgradelib.php: call to upgrade_plugins_modules()
  • line 1857 of /lib/upgradelib.php: call to upgrade_plugins()
  • line 694 of /admin/index.php: call to upgrade_noncore()
В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Vadim Tabunshchik -
Изображение пользователя Developers

Чудес не бывает. Если всё осталось так же, значит или конфиг не тот правите, или сервер не перезапускали.

MySQL или MariaDB? Из портов ставили? Первый запуск сервера БД делали с указанием конфиг-файла или как?

Прикрепил my.cnf cо своего сервака с Мудл (FreeBSD 11.2-RELEASE-p2, Apache 2.4.34, PHP 7.0.31, mysql 5.7.23)

my.cnf находится в /usr/local/etc

В ответ на Vadim Tabunshchik

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

щас попробую с Вашим my.cnf
у меня он находится в /usr/local/etc/mysql/

.....

с Вашим my.cnf установка прошла успешно.
Спасибо

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Александр ... -
В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

Новая версия тестового moodle работает вполне нормально, решил перенести со старого сервера работающую систему Moodle 3.3.7 (freebsd9, php 5.6, mysql 5.6.27) в новую среду.

Сайт не заработал, выдал сообщение HTTP ERROR 500, в логах есть информация - "GET /moodle/ HTTP/1.1" 500  

[Thu Sep 13 09:34:31.073103 2018] [mpm_prefork:notice] [pid 1427] AH00163: Apache/2.4.34 (FreeBSD) PHP/7.2.8 configured -- resuming normal operations
[Thu Sep 13 09:34:31.073160 2018] [core:notice] [pid 1427] AH00094: Command line: '/usr/local/sbin/httpd -D NOHTTPACCEPT'
[Thu Sep 13 09:35:02.348022 2018] [php7:error] [pid 1500] [client 10.0.2.173:52 635] PHP Fatal error: Cannot use 'object' as class name as it is reserved in / usr/local/www/moodle/lib/setuplib.php on line 66

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Vadim Tabunshchik -
Изображение пользователя Developers
Сайт не заработал

Так а чему вы удивляетесь?

Moodle 3.3.7 не будет работать на PHP 7.2.8. Я ж не просто так не перешел на PHP 7.2 и даже на 7.1, которая уже по умолчанию в FreeBSD. Пока есть старенькие дополнения в Мудл буду сидеть на PHP 70 улыбаюсь

В ответ на Vadim Tabunshchik

Re: Проблема при установке Moodle 3.5.2

от Александр ... -

то есть обновить  3.3.7 до  3.5.2 не выйдет ?

В ответ на Александр ...

Re: Проблема при установке Moodle 3.5.2

от Vadim Tabunshchik -
Изображение пользователя Developers
то есть обновить  3.3.7 до  3.5.2 не выйдет ?

Почему же? Можно, только не так, как вы это делаете.

Нужно сразу в каталог сайта залить файлы Мудл версии 3.5.2, естественно, поискать новые версии всех нестандартных дополнений. Потом залить в БД дамп от 3.3.7 и перенести moodledata. Дальше админом заходим на сайт в уведомления и Мудл обновит сайт (базу данных) до версии 3.5.2.

А вы кидаете старый код Мудл, не поддерживающий РНР 7.2, на новую версию РНР, поэтому ошибка.