Mysql таблица не существует ошибки после попытки запуска из снимка lvm

Я пытаюсь настроить репликацию MySQL, делая lvm снимок главного datadir и копируя его на ведомый.

Процедура довольно проста: на главном сервере я выполняю "FLUSH TABLES WITH READ LOCK", а на втором терминале создаю снимок lvm с lvcreate -l40%FREE -s -n mysql-backup /dev/MySQL/mysqlПосле этого разблокируйте таблицы.

Затем я монтирую моментальный снимок и копирую datadir в slave, но mysql не запускается с ошибками:

150105 12:50:53 mysqld_safe Запуск демона mysqld с базами данных из /var/lib/mysql
150105 12:50:53 [Предупреждение] Измененные ограничения: max_open_files: 1024  max_connections: 100  table_cache: 457
150105 12:50:54 InnoDB: InnoDB куча памяти отключена 150105 12:50:54 InnoDB: Mutexes и rw_locks используют атомарные встроенные функции GCC 150105 12:50:54 InnoDB: Сжатые таблицы используют zlib 1.2.7
150105 12:50:54 InnoDB: Использование встроенного в Linux AIO
150105 12:50:54 InnoDB: Инициализация пула буферов, размер = 3.9G
150105 12:50:54 InnoDB: Завершена инициализация пула буферов 150105 12:50:54 InnoDB: самый высокий поддерживаемый формат файла - Barracuda. InnoDB: сканирование журнала прошло после контрольной точки lsn 29552065932592
150105 12:50:54  InnoDB: база данных не была нормально закрыта!
InnoDB: запуск восстановления после сбоя. InnoDB: чтение информации о табличном пространстве из файлов.ibd... InnoDB: ошибка: попытка добавить табличное пространство 210146 с именем './somedatabase/CRM_printers.ibd'
InnoDB: в кеш памяти табличного пространства, но табличное пространство InnoDB: 210146 с именем './somedatabase/status.ibd'уже существует в табличном пространстве InnoDB: кэш памяти!
150105 12:50:55 mysqld_safe mysqld из файла pid /var/run/mysqld/mysqld.pid закончилась

Я проверил, и файлы этих таблиц существуют. Итак, затем я запустил базу данных с innodb_force_recovery=1 и mysql, после чего началось много ошибок, подобных этой:

InnoDB: запуск восстановления после сбоя.
InnoDB: чтение информации табличного пространства из файлов.ibd...
InnoDB: Ошибка: при попытке добавить табличное пространство 210146 с именем "./db/k.ibd"
InnoDB: кеш памяти табличного пространства, но табличное пространство
InnoDB: 210146 с именем "./db/y.ibd" уже существует в табличном пространстве
InnoDB: кэш памяти!
InnoDB: innodb_force_recovery был установлен в 1. Продолжение восстановления после сбоя
InnoDB: даже если создание табличного пространства этой таблицы не удалось.
InnoDB: ошибка: попытка добавить табличное пространство 210235 с именем './db/a.ibd'
InnoDB: кеш памяти табличного пространства, но табличное пространство
InnoDB: 210235 с именем "./db/ty.ibd" уже существует в табличном пространстве
InnoDB: кэш памяти!
InnoDB: innodb_force_recovery был установлен в 1. Продолжение восстановления после сбоя
InnoDB: даже если создание табличного пространства этой таблицы не удалось.
InnoDB: ошибка: попытка добавить табличное пространство 210285 с именем './db/PC.ibd'
InnoDB: кеш памяти табличного пространства, но табличное пространство
InnoDB: 210285 с именем './portal/HR.ibd' уже существует в табличном пространстве
InnoDB: кэш памяти!

Сейчас я запускаю mysqlcheck -A в этой базе данных, и выводится, что некоторые таблицы не существуют, но существуют файлы frm и idb.

В чем проблема, что-то не так с моим снимком?

0 ответов

Другие вопросы по тегам