把大量的 MyISAM table 換成 InnoDB

把主機的 MySQL 從 5.1 升級到 5.5 後,想把主機上的 MyISAM table 都換成 InnoDB

基本上是參考「Quick tip: how to convert tables to InnoDB」這篇提到的工具以及說明。

文章裡所提到的 mk-find 是 2008 年的時候的名稱,當時這隻工具是在 Maatkit 裡面,而 2012 年則已經併入 Percona Toolkit,所以文章裡本來是 mk-find 的地方要改成 pt-find

另外我不想嘗試把 mysql.* 改成 InnoDB (我不知道會不會爆炸),所以我的做法是只用 --print,然後丟到 vim 裡面加上 ALTER TABLE 以及 ENGINE=InnoDB ROW_FORMAT=COMPRESSED;

pt-find 這個指令看起來可以用在很多地方,之後應該會有不少用到的機會...

5 thoughts on “把大量的 MyISAM table 換成 InnoDB

  1. Touhonoob Chung

    ALTER TABLE 在資料比較多的時候可能會讓轉換過的資料表無法使用

  2. Pingback: 長野雅廣 (Masahiro Nagano) 的 MySQL Beginners Talk | Gea-Suan Lin's BLOG | 蝴蝶養貓

  3. Pingback: MySQL MyISAM Engine 轉換成 InnoDB | 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY

  4. Pingback: 上禮拜網站主機的兩個小事故 | 業餘人生日記

Leave a Reply

Your email address will not be published. Required fields are marked *