把大量的 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 這個指令看起來可以用在很多地方,之後應該會有不少用到的機會...

This entry was posted in Blog, Computer, Database, Murmuring, MySQL, Network, Software and tagged , , , , , . Bookmark the permalink.

4 Responses to 把大量的 MyISAM table 換成 InnoDB

  1. Touhonoob Chung says:

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

  2. Ken Chen says:

    mysql_convert_table_format

    我當初應該是用這個。

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

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

Leave a Reply

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