硬盘位腐烂确实发生MySQL 是否会确保数据库中存储的数据不会发生位腐烂?即,它是否会进行任何行级校验和或表级校验和?我猜它不处理纠错码。
让我们坚持使用 InnoDB 和 MyISAM 来回答这个问题(因为它们是最常见的数据库引擎)。
答案1
Innodb 对每个数据页进行校验,并且默认情况下每次从磁盘读取页面时都会验证该校验和:http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_checksums
我不确定 myisam 是否具有内部校验和,但有一堆外部实用程序可以验证 myisam 表/数据的完整性(myisamchk 等)。
在这两者之间,如果您追求的是数据完整性,我认为 Innodb 是更好的选择。
希望有所帮助。