在开发时有时因需要把myisam数据库要转换成innodb数据库,这样的方法经常碰到,因为innodb支持存储过程等很多myisam不支持的类型,所在这里提供了一个方法,有需要的朋友可以参考一下。
! rm -f /tmp/ivan_alter.sql #预删除临时文件,方式下面的语句无法写入
代码如下 复制代码
select concat(‘alter table `’, table_schema, ‘`.`’, table_name, ‘` engine=innodb;’)
from information_schema.tables
where engine=‘myisam’ and
table_schema‘’ and
table_schema‘information_schema’
into outfile ‘/tmp/ivan_alter.sql’ ;
source /tmp/ivan_alter.sql
! rm -f /tmp/ivan_alter.sql
#执行完后删除临时文件
