mysql 和 maatkit:mk-table-checksum 会进行什么样的阻塞?

mysql 和 maatkit:mk-table-checksum 会进行什么样的阻塞?

我们有两个 MySQL 服务器,并设置了简单的主从复制。我们目前使用所有 MyISAM 表,但将来可能会迁移到 InnoDB。我们最大的表超过 2GB。

我想使用mk-表校验和工具对表运行校验和,这样我就可以确保复制正常工作。

这本书高性能 MySQL和这个mk-table-checksum 教程两者都建议使用--sleep--chunk-size来帮助避免数据库阻塞。

我的问题是关于‘阻塞’:

  1. 这里可能发生哪种类型的阻塞?这仅仅是指表上的读锁吗?
  2. 如果我不指定--chunk-size,其中一些校验和需要 4-5 分钟。此时表是否会被锁定而无法写入?

答案1

它只是指表上的读/写锁。如果您使用的是 MySQL 内置的默认校验和实现,则使用读锁;如果您使用的是 --replicate(执行 INSERT..SELECT 语句),则使用共享读锁。

相关内容