对生产中的MySQL InnoDB表进行碎片整理最好的做法是什么?

我的很多Innodb表需要“碎片整理”。 我的理解是,“优化”可能不是最好的办法。 有人build议做一个“ALTER TABLE”来让Mysql重build(并因此整理)表。

有没有人有什么build议(根据经验)什么是对Innodb生产表进行碎片整理的最佳方法?

要对innodb进行碎片整理,请遵循以下步骤 。 既然你说它的生产数据库你可以做到这一点 –

  1. 开始一个主 – 主同步。
  2. 把你的主从机放在不同的机器上,这样它们就可以在不同的mysql实例上运行。
  3. 一旦主 – 主同步完成,然后开始碎片整理过程中的一个,另一台机器将服务请求,直到那时…
  4. 一个结束后,对其他人做同样的事情。

希望这可以帮助..

我会做的第一件事是运行mysqldump来确保我有一个备份: http : //dev.mysql.com/doc/refman/5.1/en/mysqldump.html

也许这是显而易见的,但我会做到这一步