MySQL

Как восстановить mysql базы из файлов /var/lib/mysql/

Может возникнуть ситуация, когда необходимо восстановить файлы mysql базы из файлов, например, мертвого сервера, которые содержали таблицы InnoDB и были расположены в каталоге /var/lib/mysql/.

Если весь каталог со всеми файлами был успешно извлечен из старой системы, то выполняем следующие действия на новом сервере.

1. Через phpmyadmin или иную утилиту создаем базы, которые необходимо восстановить.
Имя базы = каталогу в директории /var/lib/mysql/
2. Останавливаем сервер mysql (service mysql stop)
3. Далее копируем в директорию /var/lib/mysql/ нового сервера, все каталоги баз данных, которые требуется восстановить
4. Также копируем файл ibdata1.
5. Устанавливаем mysql пользователся в качестве владельца всех файлов и директорий
  1. chown -R mysql:mysql /var/lib/mysql/
6. Даем права пользователю и группе mysql 660 на все файлы и 755 на директории (если после этого не запуститься, возможно для файлов нужно повысить права).
  1. chmod -R 660 /var/lib/mysql/*
7. Запускаем mysql сервер (service mysql start)

Перенос базы осуществлялся с debian 7 на debian 8.
Возможно данный способ восстановления не сработает в некоторых случаях.