在生产中对 MySQL InnoDB 表进行碎片整理的最佳实践是什么?

在生产中对 MySQL InnoDB 表进行碎片整理的最佳实践是什么?

我的许多 Innodb 表都需要“碎片整理”。我的理解是“OPTIMIZE”可能不是最好的方法。有些人建议执行“ALTER TABLE”以让 Mysql 重建(并因此进行碎片整理)表。

是否有人对对生产 Innodb 表进行碎片整理的最佳方法有任何建议(基于经验)?

答案1

碎片整理 innodb 按照这个。既然你说它是一个生产数据库,你可以这样做 -

  1. 启动主-主同步。
  2. 将主服务器和从服务器放在不同的机器上,这样它们就在不同的 mysql 实例上运行。
  3. 一旦主主同步完成,则在其中一台机器上启动碎片整理过程,另一台机器将在此之前处理请求...
  4. 一个结束后,对另一个也重复同样的操作。

希望这可以帮助..

答案2

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

这也许很明显,但我会迈出第一步

相关内容