最简单的方法:ALTER TABLE table_name ENGINE = InnoDB;,Mysql会按行将数据从原表复制到一张新的表中,在复制期间可能会消耗系统所有的I/O能力,同时原表上会加上读锁,所以可能要执行很长时间。
导出导入方法,将表导出,修改创建时的默认引擎和表名,再导入。
创建和查询(CREATE和SELECT)
CREATE TABLE innodb_table LIKE myisam_table; ALTER TABLE innodb_table ENGINE=InnoDB; INSERT INTO innodb_table SELECT * FROM myisam_table;
如果数据量大的话可以讲第三行改为分批插入。