Здравствуйте. У меня стоит moodle 2.7 Я пытаюсь обновиться до 3.0.1. Сделала бэкап moodle, moodledata и базы данных. Сразу выдает ошибку, что стоят разные версии системы. Ее я обошел, удалив старую папку с Moodle и скопировав в нее новый moodle 3.0. Обновление пошло, но на последнем этапе система выдает ошибку. Если ее игнорировать, то в дальнейшем система пишет Ошибка чтения базы данных. Помогите пожалуйста разобраться с проблемой
В прикрепленном файле я вижу только сообщение о последней ошибке "чтения базы данных".
А где скрины с "ошибку, что стоят разные версии системы" и "на последнем этапе система выдает ошибку"?
Чтобы разобраться, нужно знать, в moodle 2.7 у вас был установлен тип вопроса qtype_ddimageortext или нет?
Если был установлен, нужно возвращать "всё взад" из бэкапов и пробовать обновить moodle с самого начала.
Если нет - удалить вручную через phpmyadmin таблицы, кот. указаны в ошибка.docx ('mdl_qtype_ddimageortext', mdl_qtype_ddimageortext_drops, mdl_qtype_ddimageortext_drags) и запустить инсталляцию снова.
Ошибка выполнения SQL в DDL возникает из-за попытки создания таблиц для вопроса qtype_ddimageortext в случае их существования. И из вашего сообщения непонятно, то ли они существовали раньше, в старой версии moodle, то ли они были созданы при обновлении, кот. по какой-то причине было прервано и запущено повторно.
Здравствуйте. Восстановил старую версию (2.7). Начал делать заново по инструкции. Залил на хостинг версию 3.0, восстановил старый config.php из версии 2.7. После запуска обновления система сразу выдает ошибку. Хотел сделать по прилагаемой инструкции, но где найти репозиторий GIT? Помогите пожалуйста
Александр, а в чем, собственно, помощь заключается? Всё же понятно написано: нужно полностью удалить файлы старой версии moodle, оставив только config.php, и на их место распаковать новые файлы. А у вас где-то остались старые файлы, кот. "видит" инсталляция moodle, скорее всего, это файлы с указанной версией какого-то модуля/плагина (version.php)
У нас при попытке обновления Moodle 1.9.19 до версии Moodle 2.2.11 (удаляем все кроме config.php) получаем сообщение The site is undergoing maintenance and is currently not available, как обновить систему ?
Режим технического обслуживания- выключен
"Сайт на обслуживании и сейчас недоступен" - стандартное сообщение.
Особенно учитывая, что при переходе с 1.9 на 2.х конвертируются все файлы курсов в новый формат хранения, плюс серьезные изменения в БД. Это, имхо, самое "крутое" обновление
Последите в диспетчере задач за процессами веб-сервера, что на сколько кого грузит. Если сайт объемный, может просто не хватать ресурсов железа, может не хватать времени в настройках РНР. Тогда пробуйте запускать обновление снова или параметры "подкрутите".
И Режим технического обслуживания нужно включать при обновлении.
русурсов хватает, сообщение появляется мгновенно, время в php я выставил большое (600с).
Попобую вернуть файлы назад с БД и попробывать еще раз с включеным режимом технического обслуживания
сообщение появляется мгновенно
Как только в уведомления зайдете? Или всё-таки сначала проверяется окружение, потом ещё какие-то сообщения (не помню уже , уведомление о конвертации файлов?
Конвертация файлов - долгий процесс, особенно если их несколько гектар. Посмотрите в moodledata, появляется ли каталог filedir, одновременно "номерные" каталоги с файлами курсов должны опустошаться.
все поправил, обновление пошло, но теперь такая ошибка
System
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',
)]
- 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 они теперь обозначаются как
mod/hotpot | modulename | Non-standard |
но после нажатия продолжить получаем снова
System
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()
"Illegal mix of collations" говорит о том, что у вас не совпадает кодировка некоторых столбцов в таблице mdl_course (нужна utf8_unicode_ci, у вас- utf8_general_ci. Или наоборот, не помню ). Вот почему перед обновлением всегда нужно проверять структуру БД (поищите на форуме или в оф. документации).
Недостающие плагины нужно или скачать для новой версии moodle перед обновлением и "разложить" по местам или пропустить и доустановить потом. Это некритичная ошибка, обычно обновление проходит нормально и без них.
я пошел другим путем, сделал обновление сразу на версию 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.
Как это можна поправить ?
застрял при обновлении до версии moodle3.0
unsupported_db_storage_engine | цей тест повинен бути пройденим
The database storage engine being used |
Перевірка |
что тут можна сделать ?
Инструкция помогла, сайт обновился и заработал.
Огромное спасибо.
нужна utf8_unicode_ci, у вас- utf8_general_ci. Или наоборот, не помню
У меня есть один сайт, изначально созданный в кодировке utf8_unicode_ci, которая по украинскому алфавиту сортирует строки неправильно. Я поленился изменять кодировку всей базы данных, а установил utf8_unicode_ci только там, где в самом деле сортировка по алфавиту нужна. И этот сайт живет и обновляется без проблем уже много лет, и все правильно сортирует. Правда там пока только 2.5. Вы полагаете, что при обновлении до 3.0 таки возникнут проблемы?
И этот сайт живет и обновляется без проблем уже много лет, и все правильно сортирует
И дай бог…
Вы полагаете, что при обновлении до 3.0 таки возникнут проблемы?
Проблемы будем решать по мере их поступления
Единственное, что бы порекомендовал сделать, это проверить структуру БД.
сайт на мудле работает, но после процедур обновления я не могу сделать экспорт базы данных в phpmyadmin, на mysql много баз, в том числе и старая копия moodle, все базы можна экспортировать, а новую немогу, при сохраненнии в меню нет имени файла, а только название сохраняемого файла sql и размер файла 54 кб заместь 80 мб
Еще вопрос, в 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,
)
мой 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