myisam 表 轉換為 innodb 表
阿新 • • 發佈:2019-02-11
MySQL(或者社群開源fork的MariaDB)5.5以上支援InnoDB引擎,並將其作為預設資料庫引擎。InnoDB帶來很多改進,但是對系統資源佔用明顯增加,對於還在128MB~512MB記憶體VPS掛WordPress部落格的筒子們來說,InnoDB是不合適的,還是得換回MyISAM這批老馬!
本文講解從InnoDB引擎轉換成MyISAM引擎,看完本文,你應該懂得如何操作以把MyISAM引擎轉換成InnoDB引擎了(請確保InnoDB開啟,MySQL命令列下SHOW ENGINES命令檢視)。
進入MySQL命令列模式,然後執行以下指令(以資料庫wordpress為例):
1234 | USEwordpress;SHOW |
SHOW TABLES可以顯示出wordpress下全部表的名字,接下來兩行將把wp_commentmeta和wp_comments這兩個錶轉換成MyISAM引擎,剩下的幾個表也請用同樣的方式轉換完畢。引擎轉換過程中將把資料庫鎖定,小的資料庫轉換很快,但是大資料庫轉換可能花費時間比較長,因此儘量選擇訪問低峰時間段進行。
轉換完畢後,可以把InnoDB引擎關閉並將MyISAM設為今後MySQL的預設引擎,編輯/etc/my.cnf檔案,在[mysqld]區段下加入下面兩行:
12 | default-storage-engine=MYISAMinnodb=OFF |
儲存後重啟mysqld服務:
1 | sudo service mysqld restart |
從InnoDB引擎轉換成MyISAM引擎,看完本文,你應該懂得如何操作以把MyISAM引擎轉換成InnoDB引擎了(請確保InnoDB開啟,MySQL命令列下SHOW ENGINES命令檢視)。
mysql> ALTER TABLE boblog_history ENGINE=InnoDB;
Query OK, 2808 rows affected (0.76 sec)
Records: 2808 Duplicates: 0 Warnings: 0
ALTER TABLE boblog_blogs ENGINE=InnoDB;
ALTER TABLE boblog_calendar ENGINE=InnoDB;
ALTER TABLE boblog_categoriesENGINE=InnoDB;
ALTER TABLE boblog_counter ENGINE=InnoDB;
ALTER TABLE boblog_forbidden ENGINE=InnoDB;
ALTER TABLE boblog_history ENGINE=InnoDB;
ALTER TABLE boblog_linkgroup ENGINE=InnoDB;
ALTER TABLE boblog_links ENGINE=InnoDB;
ALTER TABLE boblog_maxrec ENGINE=InnoDB;
ALTER TABLE boblog_messages ENGINE=InnoDB;
ALTER TABLE boblog_mods ENGINE=InnoDB;
ALTER TABLE boblog_pages ENGINE=InnoDB;
ALTER TABLE boblog_plugins ENGINE=InnoDB;
ALTER TABLE boblog_replies ENGINE=InnoDB;
ALTER TABLE boblog_tags ENGINE=InnoDB;
ALTER TABLE boblog_upload ENGINE=InnoDB;
ALTER TABLE boblog_user ENGINE=InnoDB;
來自:https://www.librehat.com/mysql-engine-innodb-and-myisam-convert/