Я пытаюсь создать резервную копию данных на узле MySQL Galera с помощью XtraBackup. К сожалению, инструмент сообщает мне, что ibdata1 поврежден. После двойной проверки я действительно нашел несколько таблиц myisam, которые импортировал по ошибке. Отбросил их и заменил на таблицы innodb. Однако ошибка остается (правда, теперь на другой странице)
xtrabackup version 2.2.12 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 8726828)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /data/mysql/data
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 50331648
>> log scanned up to (22054624442)
xtrabackup: Generating a list of tablespaces
[01] Copying ./ibdata1 to /data/backup/2015-09-02_15-23-50/ibdata1
[01] xtrabackup: Database page corruption detected at page 1320, retrying...
Я проверил повреждение базы данных и ничего не нашел. Возможно, возникла проблема с установкой Galera и XtraBackup?
Это может быть вызвано несколькими причинами.
Вы используете старую версию xtrabackup, в которой есть ошибка, которая может указывать на повреждение файлов данных, когда их нет, обновите до новейшей версии xtrabackup для вашей версии mysql.
Повреждение вторичных индексов в таблице
Если вы можете выполнить mysqldump таблиц, данные должны быть неповрежденными, и вам нужно либо запустить optimize table
или перестройте таблицы. Определите повреждение файла ibd, проверив каждый файл ibd с помощью innochecksum
и использовать pt-online-schema-schema-change
приложение для восстановления таблиц
pt-online-schema-change --dry-run --alter="ENGINE=INNODB" \
--user=your_username --ask-pass \
D=databasename,t=tablename
Замените --dry-run на --execute, если хотите выполнить задачу.
Оптимизировать таблицу: https://dev.mysql.com/doc/refman/8.0/en/optimize-table.html
Инночексум: https://www.percona.com/blog/2015/03/16/deep-dive-mysqls-innochecksum-tool/
pt-онлайн-изменение схемы: https://www.percona.com/doc/percona-toolkit/LATEST/pt-online-schema-change.html