Sometimes the operating system or the hardware can corrupt a
data file page, in a location that does not cause a database
error, but prevents
ibbackup: Re-reading page at offset 0 3185082368 in /sqldata/mts/ibdata15 ibbackup: Re-reading page at offset 0 3185082368 in /sqldata/mts/ibdata15 ibbackup: Error: page at offset 0 3185082368 in /sqldata/mts/ibdata15 seems corrupt!
Scrambled data in memory can produce this error, even though the data on disk is correct. Reboot the database server and storage device to see if the problem persists.
If the data really is corrupt on disk, you can restore from an earlier backup and “roll forward” the recent changes to bring the database back to its current state.
If you want to make an additional backup before investigating
the cause of the corruption, you can compile and run a
innodb_page_checksum_reset.c, to reset the
LSN and checksum fields in one data page, so that
ibbackup can complete the backup.
The sample program resets page 22357 in a datafile
ibdata1. Edit these values according to the
values in your error message.
To compile on Linux:
$ gcc -o ibreset innodb_page_checksum_reset.c
If your data file is larger than 2 GB, compile with large file support:
$ gcc -D_XOPEN_SOURCE=600 D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o ibreset innodb_page_checksum_reset.c
The command produces an executable file called
IMPORTANT: Do not treat corruption problems as a minor annoyance. Find out what is wrong with the OS or the hardware that causes corrupt pages to appear. (Such troubleshooting is beyond the scope of this manual.)