Проблема после переноса Moodle на другой сервер

Проблема после переноса Moodle на другой сервер

от Дмитрий Парфёнов -
Количество ответов: 10

Добрый день, возникла необходимость перенести ресурс на новый сервер - делал по стандартной инструкции (перевел сайт в режим техобслуживания, выгрузил базу, скопировал папки moodle и moodledata. Но после переноса имею ошибку чтения БД и на старом и на новом сервере и ресурс не работает.

На данный момент по дебагу имею следующую картину - 

Debug info: Table 'db_d0735a48.mdl_sessions' doesn't exist
SELECT id, sid, state, userid, lastip, timecreated, timemodified FROM mdl_sessions WHERE sid = ?
[array (
0 => '385d55d261c795fe86754db78627d723',
)]
Error code: dmlreadexception
Stack trace:
  • line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 1245 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1571 of /lib/dml/moodle_database.php: call to mysqli_native_moodle_database->get_records_sql()
  • line 1543 of /lib/dml/moodle_database.php: call to moodle_database->get_record_sql()
  • line 1522 of /lib/dml/moodle_database.php: call to moodle_database->get_record_select()
  • line 295 of /lib/classes/session/manager.php: call to moodle_database->get_record()
  • line 85 of /lib/classes/session/manager.php: call to core\session\manager::initialise_user_session()
  • line 791 of /lib/setup.php: call to core\session\manager::start()
  • line 31 of /config.php: call to require_once()
  • line 30 of /index.php: call to require_once()
В ответ на Дмитрий Парфёнов

Re: Проблема после переноса Moodle на другой сервер

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
'db_d0735a48.mdl_sessions' doesn't exist
Базу не забыли восстановить? 🙂
К базе данных не пробовали подключаться стандартным клиентом?


В ответ на Виталий Лавров

Re: Проблема после переноса Moodle на другой сервер

от Дмитрий Парфёнов -
Не забыл, стандартный клиент не пробовал. Есть один нюанс - ресурс работает на web-сервере, который является частью программного комплекса ИКС (Интернет Контроль Сервер). БД работает в docker, в качестве ОС freebsd, эта система коммерческая все внутреннее устройство закрыто по web-мордой. У тех.поддержки получил доступ для root и по SSH имею возможность доступа непосредственно к ОС, но приходится разбираться в деталях. 
В ответ на Дмитрий Парфёнов

Re: Проблема после переноса Moodle на другой сервер

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Если БД запущена в докере, то проверка доступности самого сервера БД по сети должна быть первым пунктом перед запуском moodle. Второй пункт - доступность базы moodle под учеткой указанной в config.php.
В ответ на Виталий Лавров

Re: Проблема после переноса Moodle на другой сервер

от Дмитрий Парфёнов -
извиняюсь за долгое отсутствие в теме, решал проблемы со здоровьем. Сейчас имею такую ситуацию - поднял новый moodle с пустой БД, затем в эту БД залил дамп с которым были ошибки. По итогу появилась вся прежняя структура курсов, но при попытке обратиться к любому курсу ошибка об неверном идентификаторе, т.е в БД отсутствует информация о курсах. Очень долго общался с техподдержкой ИКС в попытках выяснить почему в бэкапах БД отсутствует часть таблиц, но это ни к чему не привело - техподдержка только развела руками, что это проблема самого Moodle и они ничем помочь не могут. Есть ли еще какой-то шанс восстановить доступ к курсам, если нет бэкапов сделанных в самом Moodle. В каком формате вообще хранятся курсы? Т.к по крайней мере структура каталогов с файлами перенеслась без потерь
В ответ на Дмитрий Парфёнов

Re: Проблема после переноса Moodle на другой сервер

от Vadim Tabunshchik -
Изображение пользователя Developers
Можете выложить дамп БД, посмотреть нужно, чего не хватает?
 
>>По итогу появилась вся прежняя структура курсов, но при попытке обратиться к любому курсу ошибка об неверном идентификаторе, т.е в БД отсутствует информация о курсах.
 
Если на сайте появилась структура курсов, то таблица mdl_course живая, иначе бы вы эту структуру не увидели. А вот с неверными идентификаторами нужно разбираться.
В ответ на Дмитрий Парфёнов

Re: Проблема после переноса Moodle на другой сервер

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
В ответ на Виталий Лавров

Re: Проблема после переноса Moodle на другой сервер

от Дмитрий Парфёнов -
Диски, где лежал старый Moodle отключены, но можно снова подключить. Дамп базы - https://drive.google.com/file/d/1rB11VRPn8HXnJe4OqOTN-uxZ0LlYgTNa/view?usp=sharing
В ответ на Дмитрий Парфёнов

Re: Проблема после переноса Moodle на другой сервер

от Vadim Tabunshchik -
Изображение пользователя Developers
В дампе только первые 183 таблицы, а должно быть 388 или больше, если устанавливали доп. плагины.
В ответ на Дмитрий Парфёнов

Re: Проблема после переноса Moodle на другой сервер

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Я бы попробовал оттуда забрать файлы базы данных и запустить сервер БД с ними. Если есть сервер БД с такой же версией/разрядностью, то проблем не должно быть.
После этого можно было бы сделать бекап базы и посмотреть на результат или ошибки.