《怎樣批量修改mysql數(shù)據(jù)庫(kù)myisam引擎為innodb》要點(diǎn):
本文介紹了怎樣批量修改mysql數(shù)據(jù)庫(kù)myisam引擎為innodb,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:MYSQL安裝和配置
今天升級(jí)MYSQL 5.7,準(zhǔn)備把原來(lái)數(shù)據(jù)庫(kù)的MYSQL數(shù)據(jù)庫(kù)引擎從5.6升級(jí)為5.7,因?yàn)楸砀癖姸啵粋€(gè)個(gè)修改很累,所以要有批量修改方法。
一個(gè)個(gè)修改的方法是:
mysql> alter table vephp engine=innodb; Query OK, 16777216 rows affected (2 min 39.80 sec) Records: 16777216 Duplicates: 0 Warnings: 0
那么批量修改方法就是批量執(zhí)行ALTER TABLE即可。
我們生成這樣的語(yǔ)句即可。執(zhí)行:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') FROM information_schema.tablesWHERE table_schema="vephp數(shù)據(jù)庫(kù)" AND ENGINE="MyISAM";
生成:
ALTER TABLE xxxxx ENGINE=InnoDB; ALTER TABLE zzzzzzzzz ENGINE=InnoDB; ALTER TABLE vvvvvvvvvv ENGINE=InnoDB; ALTER TABLE eeeeeee ENGINE=InnoDB; ALTER TABLE ppppppp ENGINE=InnoDB; ....
如圖:
把這些表格數(shù)據(jù)導(dǎo)出,在SQL中執(zhí)行即可。
也可以放在PHP中執(zhí)行,如下:
$s = "ALTER TABLE aaaa ENGINE=InnoDB; ALTER TABLE bbbbb ENGINE=InnoDB; ALTER TABLE ccccc ENGINE=InnoDB; ALTER TABLE ddddd ENGINE=InnoDB;"; $s = array_filter (explode ("\n",$s)); foreach ($s as $sql) { $db->query($sql); //這里是VEPHP框架查詢,需要改成你的SQL查詢命令 }
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/129.html