如何在最短的停机时间内将Innodb表转换为myisam表

时间:2017-08-14 20:23:50

标签: mysql

我们有250GB的mysql innodb数据库,出于性能原因我们必须在生产中将其转换为myisam,那么在最短的停机时间内完成它的最佳解决方案

1 个答案:

答案 0 :(得分:0)

我想象的是:

  • 创建表的MyISAM副本。
  • 在原始表上添加/修改触发器以“同步”更改以进行复制。
  • 将旧数据从原始表格逐步复制到复制;更新和删除触发器应使先前复制的数据保持最新。 (根据特定表格的结构以及如何逐步复制,插入触发器可能是不必要的,甚至可能适得其反。)
  • 删除任何引用原始表的外键。
  • 重命名原始表并将副本重命名为原始表的名称。

这不是最快的过程,但我看不到比重命名几个表更少的停机时间。