一般批量修改MYSQL中某表的数据库引擎可以利用官方工具[mysql_convert_table_format](http://http://dev.mysql.com/doc/refman/5.1/en/mysql-convert-table-format.html)来实现, 这里指的是不使用其他工具仅用shell的方法来实现。(以下例子效果是将数据库`shop`中所有引擎不为InnoDB的表修改为使用InnoDB引擎)[ 查看表引擎的语句:`show create table tableName;` ],其实核心关键点是这条语句:
```
alert table tableName engine=innodb;
```
下面开始修改:
## 备份数据库
### 在命令行下运行得到备份SQL
```
mysqldump -uroot -p******** shop > shop20160505.sql
```
### 在命令行建立一个测试数据库并导入SQL
```
mysql -uroot -p******** -e 'create database shop_to_innodb charset utf8';
mysql -uroot -p******** shop_to_innodb < shop20160505.sql
```
## shell获取需要更换表引擎
```
mysql -uroot -p******** -e "show table status from shop_to_innodb where