Comments - Migrating from 'innodb' checksum to 'crc32' checksum

11 months, 1 week ago Keshan Nageswaran

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?

 
11 months, 1 week ago Ian Gilfillan

Yes, the table can be created and populated with the innodb checksum, 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 use innodbchecksum, 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.

 
11 months, 1 week ago Keshan Nageswaran

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?

 
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.