Проблема с обновлениями

Проблема с обновлениями

от Алексей Бардынин -
Количество ответов: 20

Здравствуйте. У меня стоит moodle 2.7 Я пытаюсь обновиться до 3.0.1. Сделала бэкап moodle, moodledata и базы данных. Сразу выдает ошибку, что стоят разные версии системы. Ее я обошел, удалив старую папку с Moodle и скопировав в нее новый moodle 3.0. Обновление пошло, но на последнем этапе система выдает ошибку. Если ее игнорировать, то в дальнейшем система пишет Ошибка чтения базы данных. Помогите пожалуйста разобраться с проблемой

В ответ на Алексей Бардынин

Re: Проблема с обновлениями

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

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

А где скрины с "ошибку, что стоят разные версии системы" и "на последнем этапе система выдает ошибку"?

Чтобы разобраться, нужно знать, в moodle 2.7 у вас был установлен тип вопроса qtype_ddimageortext или нет?

Если был установлен, нужно возвращать "всё взад" из бэкапов и пробовать обновить moodle с самого начала.

Если нет - удалить вручную через phpmyadmin таблицы, кот. указаны в ошибка.docx ('mdl_qtype_ddimageortext', mdl_qtype_ddimageortext_drops, mdl_qtype_ddimageortext_drags) и запустить инсталляцию снова.

Ошибка выполнения SQL в DDL возникает из-за попытки создания таблиц для вопроса qtype_ddimageortext в случае их существования. И из вашего сообщения непонятно, то ли они существовали раньше, в старой версии moodle, то ли они были созданы при обновлении, кот. по какой-то причине было прервано и запущено повторно.

В ответ на Vadim Tabunshchik

Re: Проблема с обновлениями

от Алексей Бардынин -

Здравствуйте. Восстановил старую версию (2.7). Начал делать заново по инструкции. Залил на хостинг версию 3.0, восстановил старый config.php из версии 2.7. После запуска обновления система сразу выдает ошибку. Хотел сделать по прилагаемой инструкции, но где найти репозиторий GIT? Помогите пожалуйста

Приложение 2015-12-30 09-29-10 Управление — Opera.png
В ответ на Алексей Бардынин

Re: Проблема с обновлениями

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

Александр, а в чем, собственно, помощь заключается? Всё же понятно написано: нужно полностью удалить файлы старой версии moodle, оставив только config.php, и на их место распаковать новые файлы. А у вас где-то остались старые файлы, кот. "видит" инсталляция moodle, скорее всего, это файлы с указанной версией какого-то модуля/плагина (version.php)

В ответ на Vadim Tabunshchik

Re: Проблема с обновлениями

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

У нас при попытке обновления Moodle 1.9.19 до версии Moodle 2.2.11 (удаляем все кроме config.php) получаем сообщение The site is undergoing maintenance and is currently not available, как обновить систему ?

Режим технического обслуживания- выключен

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

Re: Проблема с обновлениями

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

"Сайт на обслуживании и сейчас недоступен" - стандартное сообщение.

Особенно учитывая, что при переходе с 1.9 на 2.х конвертируются все файлы курсов в новый формат хранения, плюс серьезные изменения в БД. Это, имхо, самое "крутое" обновление улыбаюсь

Последите в диспетчере задач за процессами веб-сервера, что на сколько кого грузит. Если сайт объемный, может просто не хватать ресурсов железа, может не хватать времени в настройках РНР. Тогда пробуйте запускать обновление снова или параметры "подкрутите".

И Режим технического обслуживания нужно включать при обновлении.

В ответ на Vadim Tabunshchik

Re: Проблема с обновлениями

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

русурсов хватает, сообщение появляется мгновенно, время в php я выставил большое (600с).

Попобую вернуть файлы назад с БД и попробывать еще раз с включеным режимом технического обслуживания

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

Re: Проблема с обновлениями

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

Как только в уведомления зайдете? Или всё-таки сначала проверяется окружение, потом ещё какие-то сообщения (не помню уже улыбаюсь, уведомление о конвертации файлов?

Конвертация файлов - долгий процесс, особенно если их несколько гектар. Посмотрите в moodledata, появляется ли каталог filedir, одновременно "номерные" каталоги с файлами курсов должны опустошаться.

В ответ на Vadim Tabunshchik

Re: Проблема с обновлениями

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

все поправил, обновление пошло, но теперь такая ошибка

System

Error reading from database

More information about this error

Debug info: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
SELECT DISTINCT c.id AS courseid, ra.enrol, c.timecreated, c.timemodified
FROM mdl_course c
JOIN mdl_context ctx ON (ctx.instanceid = c.id AND ctx.contextlevel = 50)
JOIN mdl_role_assignments ra ON (ra.contextid = ctx.id AND ra.enrol <> '')
LEFT JOIN mdl_enrol e ON (e.courseid = c.id AND e.enrol = ra.enrol)
WHERE c.id <> ? AND e.id IS NULL
[array (
0 => '1',
)]
Stack trace:
  • line 391 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 768 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 4093 of /lib/db/upgrade.php: call to mysqli_native_moodle_database->get_recordset_sql()
  • line 1393 of /lib/upgradelib.php: call to xmldb_main_upgrade()
  • line 273 of /admin/index.php: call to upgrade_core()

и снизу кнопка продолжить, если ее нажать получаем

Your Moodle files have been changed, and you are about to automatically upgrade your server to this version:
2.0.10 (Build: 20120706) (2011033010)
Once you do this you can not go back again.
Please note that this process can take a long time.
Are you sure you want to upgrade this server to this version?

 и снова продолжить и так по кругу
 
 проходим меню Plugins check, там все зеленое кроме
? hotpot Non-standard (Missing from disk)
? journal Non-standard (Missing from disk)
? lams Non-standard (Missing from disk)
? mplayer

Non-standard (Missing from disk)

 

? academicgroups Non-standard (Missing from disk)
? activeusers Non-standard (Missing from disk)
? graph_stats Non-standard (Missing from disk)
? loancalc Non-standard (Missing from disk)
? sysinfo Non-standard (Missing from disk)
В ответ на Александр ...

Re: Проблема с обновлениями

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

модули и блоки которых нехватало я доставил, в меню Plugins check они теперь обозначаются как

mod/hotpot modulename Non-standard

 но после нажатия продолжить получаем снова

System

Error reading from database

More information about this error

Debug info: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
SELECT DISTINCT c.id AS courseid, ra.enrol, c.timecreated, c.timemodified
FROM mdl_course c
JOIN mdl_context ctx ON (ctx.instanceid = c.id AND ctx.contextlevel = 50)
JOIN mdl_role_assignments ra ON (ra.contextid = ctx.id AND ra.enrol <> '')
LEFT JOIN mdl_enrol e ON (e.courseid = c.id AND e.enrol = ra.enrol)
WHERE c.id <> ? AND e.id IS NULL
[array (
0 => '1',
)]
Stack trace:
  • line 391 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 768 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 4093 of /lib/db/upgrade.php: call to mysqli_native_moodle_database->get_recordset_sql()
  • line 1393 of /lib/upgradelib.php: call to xmldb_main_upgrade()
  • line 273 of /admin/index.php: call to upgrade_core()
 
В ответ на Александр ...

Re: Проблема с обновлениями

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

"Illegal mix of collations" говорит о том, что у вас не совпадает кодировка некоторых столбцов в таблице mdl_course (нужна utf8_unicode_ci, у вас- utf8_general_ci. Или наоборот, не помню улыбаюсь). Вот почему перед обновлением всегда нужно проверять структуру БД (поищите на форуме или в оф. документации).

Недостающие плагины нужно или скачать для новой версии moodle перед обновлением и "разложить" по местам или пропустить и доустановить потом. Это некритичная ошибка, обычно обновление проходит нормально и без них.

В ответ на Vadim Tabunshchik

Re: Проблема с обновлениями

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

я пошел другим путем, сделал обновление сразу на версию 2.2.11, обновление прошло, таких ошибок непоявилось, сайт запустился, Но в меню Notifications есть предупреждение Database tables are using MyISAM database engine, it is recommended to use ACID compliant engine with full transaction support such as InnoDB.

Таблицы базы данных хранятся в системе MyISAM. Рекомендуется использовать ACID-совместимые системы с полной поддержкой транзакций, такие как, например, InnoDB.

Как это можна поправить ?

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

Re: Проблема с обновлениями

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

застрял при обновлении до версии moodle3.0

unsupported_db_storage_engine цей тест повинен бути пройденим

The database storage engine being used
is no longer supported.

  Перевірка

 что тут можна сделать ?

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

Re: Проблема с обновлениями

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

Re: Проблема с обновлениями

от Alexandre Scherbyna -
нужна utf8_unicode_ci, у вас- utf8_general_ci. Или наоборот, не помню

У меня есть один сайт, изначально созданный в кодировке utf8_unicode_ci, которая по украинскому алфавиту сортирует строки неправильно. Я поленился изменять кодировку всей базы данных, а установил utf8_unicode_ci только там, где в самом деле сортировка по алфавиту нужна. И этот сайт живет и обновляется без проблем уже много лет, и все правильно сортирует. всё отлично Правда там пока только 2.5. Вы полагаете, что при обновлении до 3.0 таки возникнут проблемы?

В ответ на Alexandre Scherbyna

Re: Проблема с обновлениями

от Vadim Tabunshchik -
Изображение пользователя Developers
И этот сайт живет и обновляется без проблем уже много лет, и все правильно сортирует

И дай бог…

Вы полагаете, что при обновлении до 3.0 таки возникнут проблемы?

Проблемы будем решать по мере их поступления улыбаюсь

Единственное, что бы порекомендовал сделать, это проверить структуру БД.

В ответ на Vadim Tabunshchik

Re: Проблема с обновлениями

от Alexandre Scherbyna -
Спасибо. Поправлю себя только, что вся база была создана в utf8_general_ci, а utf8_unicode_ci я прописал только там, где действительно нужна правильная сортировка.
В ответ на Alexandre Scherbyna

Re: Проблема с обновлениями

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

сайт на мудле работает, но после процедур обновления я не могу сделать экспорт базы данных в phpmyadmin, на mysql много баз, в том числе и старая копия moodle, все базы можна экспортировать, а новую немогу, при сохраненнии в меню нет имени файла, а только название сохраняемого файла sql и размер файла 54 кб заместь 80 мб

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

Re: Проблема с обновлениями

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

Еще вопрос, в phpmyadmin после ввода команды USE moodle2; выводится предупреждение На сервері були виявлені деякі помилки!  Будь-ласка зверніть увагу на нижню частину цього вікна.

и дальше

...
Notice in ./libraries/sql.lib.php#1288
Undefined index: is_affected

Backtrace

./libraries/sql.lib.php#1360: PMA_getMessageForNoRowsReturned(
NULL,
array,
integer 0,
)
./libraries/sql.lib.php#2048: PMA_getQueryResponseForNoResultsReturned(
array,
string 'moodle2',
string '',
NULL,
integer 0,
object,
NULL,
)
./import.php#787: PMA_executeQueryAndGetQueryResponse(
array,
boolean false,
string 'moodle2',
string '',
NULL,
string 'USE moodle2',
NULL,
NULL,
NULL,
NULL,
string 'db_structure.php',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'USE moodle2',
NULL,
NULL,
)

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

Re: Проблема с обновлениями

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

мой my.cnf (freebsd + 4Gb ОЗУ)

[mysqld]

query_cache_type = 1
innodb_buffer_pool_size = 2G
query_cache_size=128M
key_buffer_size=2G
innodb_file_per_table=1
open_files_limit=10142
max_connections=500
max_allowed_packet=500M
query_cache_min_res_unit = 2K
table_open_cache = 512

symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[myisamchk]
key_buffer = 128M
sort_buffer = 128M
read_buffer = 32M
write_buffer = 64M