13.2 Устранение проблем с повреждением данных
Иногда операционная система или оборудование могут повредить страницу файла данных в месте, не вызывающем ошибку базы данных, но препятствующем завершению mysqlbackup:
170225 10:46:18 PCR1 INFO: Re-reading page at offset 0 in D:/temp/5.7_master/test/emp2.ibd
170225 10:46:18 PCR1 INFO: Re-reading page at offset 0 in D:/temp/5.7_master/test/emp2.ibd
...
170225 10:46:26 PCR1 ERROR: Page at offset 0 in D:/temp/5.7_master/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.