Архив метки: innodb

Бэкап и перенос InnoDB таблиц

Возникла на работе проблема: на нашем сервере мониторинга после грубого отключения питания HDD стал чувствовать себя не очень. И надо же такому случится, что сбойные сектора оказались именно на месте 8-гиговой базы Zabbix. Сама база использовала движок InnoDB и хранила данные в shared-хранилище(один огромный файл). Были ли бэкапы, спросите вы? Конечно были. Только как оказалось, бэкапить на уровне файловой системы только хранилище данных(вместе с бинарными журналами) оказалось плохой идеей: после восстановления этого бэкапа, MySQL падал при любой попытке чтения некоторых(не всех) таблиц из этой базы даже при установленном максимальном уровне режима восстановления (innodb_force_recovery=6). Хорошо, что бэкапов было несколько и мне удалось сдампить все таблицы из разных версий бэкапа.

По результатам разбирательства с этой проблемой возник вопрос, а как вообще можно бэкапить innodb-таблицы кроме традиционного способа с помощью mysqldump(и сопутствующим восстановлением в течении 4 часов этого дампа)? Первый напрашивающийся вариант — остановить сервер БД и сделать бэкап на уровне ФС не «проканал», т.к. после восстановления бэкапа на чистой инсталляции, MySQL точно так же падал при попытке чтения из этой БД.

Читать далее