Comments - Migrating from 'innodb' checksum to 'crc32' checksum
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.
This applies for existing data that was supported by 'innodb' checksum? Or I should be rewriting the .ibd tables with crc32 checksum using innodbchecksum utility?
One more question, how would I validate that there wasn't any damage to pages after the change?
Yes, the table can be created and populated with the
innodbchecksum, and then the algorithm changed at a later stage, and everything should work smoothly. The only thing to take note of is that blocks using the crc32 checksum will be incompatible with earlier versions, so there's no going back. There is no need to useinnodbchecksum, and no specific point at which the change happens, as the new checksum is only used as blocks are modified over time.If you want to put yourself at ease, you can use CHECK TABLE.
Thank you for the explanation!
I agree, checksum is only used as blocks are modified.
I have noticed is if any block in .ibd tables that were not modified over time after checksum change(innodb -> crc32), and when these .ibd tables used for restoring, checksum check fails against crc32. During the above scenario what is recommended? rewrite the blocks that were not updated with new checksum algorithm? so it would pass the checksum check during restore process?