Как выполнить перенос базы данных из образа системы на новый сервер?
Добрый день.
Исходные данные: полный образ диска с хостинга (стоял debian, образ сделан VMManager специалистами хостинга; файл без расширения, внутри которого три файла - 0.img, 1.img и 2.img, т.е. это разделы диска).
Сейчас у меня новый сервер, но развернуть этот возможности нет, так как отсутствует VMManager, на сервере уже есть данные.
Из имеющегося образ мне нужна только одна из баз данных.
Как я могу имея образ системы (все файлы) перенести базу данных в новый сервер?
Если есть бэкап структуры БД, соответствующий базе в образе, а версия сервера БД абсолютно та же - то процедура несложная. Создать пустую БД, извлечь файлы таблиц из образа, заменить пустые на полные (DISCARD + IMPORT TABLESPACE).
Если бэкапа структуры нет - всё сложнее. Остановить сервер БД, спрятать куда-нить весь каталог данных (basedir), на его место положить каталог из образа, запустить сервер, сделать бэкап нужной БД, остановить сервер, вернуть на место каталог данных, запустить сервер, развернуть бэкап.
Если же версия сервера не совпадает - то где-то установить сервер той же версии, и далее как описано выше.
останови мускул
перенеси /var/lib/mysql куда нить
восстанови весь каталог /var/lib/mysql из бекапа
запусти мускул
поднимутся все базы, с прежними логинами.
сделай дамп нужной базы.
останови мускул
удали /var/lib/mysql и верни сбекапленный каталог
запусти мускул
восстанавливай базу из дампа, раздавай на нее права, работай