17.2 Работа с проблемами повреждения данных
Иногда операционная система или аппаратное обеспечение могут повредить страницу файла данных в месте, которое не вызывает ошибку базы данных, но мешает mysqlbackup завершить свою работу:
170225 10:46:18 PCR1 INFO: Re-reading page at offset 0 in D:/temp/5.7_source/test/emp2.ibd
170225 10:46:18 PCR1 INFO: Re-reading page at offset 0 in D:/temp/5.7_source/test/emp2.ibd
...
170225 10:46:26 PCR1 ERROR: Page at offset 0 in D:/temp/5.7_source/test/emp2.ibd seems corrupt!
Проблема повреждения данных может иметь различные причины. Вот несколько рекомендаций по ее решению:
-
Проблема может возникнуть, если сервер MySQL слишком загружен. Перед попыткой других решений, вы можете выполнить резервное копирование снова, используя некоторые нестандартные настройки для следующих опций mysqlbackup:
--page-reread-time=MS. Попробуйте установить значение, например, “0.05”, для более быстрого повторного чтения во время ошибок проверки контрольных сумм.--page-reread-count=retry_limit. Попробуйте установить значение, например, “1000”, чтобы разрешить больше повторных чтений во время ошибок проверки контрольных сумм, прежде чем MySQL Enterprise Backup откажется и выдаст ошибку.
Перепутанные данные в памяти могут вызвать проблему, даже если данные на диске фактически не повреждены. Перезагрузите сервер базы данных и устройство хранения, чтобы проверить, сохраняется ли проблема.
Если проблема сохраняется после перезагрузки сервера базы данных и устройства хранения, возможно, у вас действительно повреждение диска. Вы можете рассмотреть возможность восстановления данных из более ранней резервной копии и «продвижения вперёд» недавних изменений, чтобы вернуть сервер базы данных в его текущее состояние.
-
Если вы хотите, чтобы MySQL Enterprise Backup завершил резервное копирование, несмотря на проблему, прежде чем вы будете разбираться в корневой причине, вы можете перезаписать значения контрольных сумм на диске, запустив утилиту на сервере:
innochecksum --no-checksum --write=crc32
Опция
--no-checksumотключает функцию проверки утилиты, а опция--write=crc32перезаписывает значения контрольных сумм на диске.
ВАЖНО: Не относитесь к проблемам повреждения данных как к незначительным неприятностям. Выясните, что не так с системой, которая вызывает повреждение — однако такое устранение неполадок выходит за рамки данного руководства.
© 2025 Oracle
Licensed under the GPLv2 License.