MySQL資料庫MyISAM儲存引擎轉為Innodb的方法

Michael_DD發表於2014-12-25
MySQL資料庫MyISAM儲存引擎轉為Innodb的方法


mysql資料庫儲存引擎為MyISAM的時候,在大訪問量的情況下資料表有可能會出現被鎖的情況,
這就會導致使用者連線網站時超時而返回502,此時就需要MySQL資料庫MyISAM儲存引擎轉為Innodb。

ALTER TABLE tablename ENGINE = MyISAM ;此方法有一定風險


步驟如下:

1、匯出CentOS資料庫的表結構

mysqldump -d -uxxx -p centos > centos_table.sql

其中-d參數列示不匯出資料,只匯出表結構

2、替換centos_table.sql裡的MyISAM為INNODB


sed -i 's/MyISAM/INNODB/g' centos_table.sql


3、新建資料庫centos_new,並匯入表結構

mysql > create database centos_new;
mysql -uroot -p centos_new < centos_table.sql

可以透過show table status來檢查表引擎是否為INNODB。

4、匯出centos的資料

mysqldump -t -uroot -p centos > centos_data.sql

其中-t參數列示只導資料,不導表結構

5、匯入資料到centos_new

mysql -uroot -p centos_new < centos_data.sql

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1379423/,如需轉載,請註明出處,否則將追究法律責任。

相關文章