Исправление базы данных на соответствие новому движку

Самый действенный и простой способ проверить, соответствует ли база данных новому движку на новом сервере, это выгрузить описания таблиц из старой базы (без данных) и попробовать прогрузить их на новом сервере в базу.

Для удобства отслеживания процесса, рекомендуется выгружать и загружать базы по одной.

Создание списка команд для вышрузки дампов

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

set @user='<mysql_user>';
SELECT CONCAT('mysqldump -u',@user,'  -p  --add-drop-database --add-drop-table --compact --create-options --no-data --quote-names --routines --triggers --events --databases ',s.SCHEMA_NAME,'> dump_',s.SCHEMA_NAME,'.sql')
FROM information_schema.SCHEMATA AS s
WHERE SCHEMA_NAME LIKE 'medis_%'

Данный скрипт выведет список всех команд для создания бекапа каждой бд в отдельном файле

Создане дампов

Для создания дампов баз данных выполните предоставленные команды в терминале. При активации команды нужно будет ввести пароль пользователя MySQL.

Архивация

После создания дампов, в текущей папке терминала будут созданы файлы dump_<наименование бд>.sql

Для удобства переноса создадим архив

ls dump_*.sql> files_list
tar -czvf databaseStructure.tar.gz -T files_list

Перенос архива на новый сервер сервер

rsync -vcruLzh --stats --progress ~/databaseStructure.tar.gz <ssh_user>@<ssh_host>:~/ -e "ssh -p <ssh_port>"

Работа на новом сервере

Распаковываем архив

tar -xvf databaseStructure.tar.gz

После распаковки в текущей папке появятся файлы для создания баз данных

Заливаем структуру БД

Для применения структуры базы данных выполните команду

mysql -u<mysql_user> -p -v <dump_<имя базы данных>.sql

Команду надо выполнить для каждой базы.

В процессе работы будут выдавться сообщения, включая ошибки. Каждую ошибку надо рассматривать отдельно и проверять, что не так.

Работа исключительно ручная.