分享

简单快速将MySQL MyISAMl转换成innodb存储引擎

 用勿龍潛 2012-03-12
简单快速将MySQL MyISAMl转换成innodb存储引擎
1、用脚本列出目标库的所有表,并生成alter table语句
mysql -uuser -ppassword  -e "show tables in database;" | tail --lines=+2 | xargs -i echo "ALTER TABLE {} ENGINE=INNODB;"  > tables.sql
另一种写法,不需要tail:
 mysql -uuser -ppassword  -e "show tables in database;"  --silent --skip-column-names | xargs -i echo "ALTER TABLE {} ENGINE=INNODB;"  > tables.sql
2、查看生成的SQL
[root@localhost ~]# cat cy2009_table.sql |more

3、导入数据库,将MyISAM转成innodb
[root@localhost ~]# mysql -uuser -ppassword  database < tables.sql

4、查看是否修改成功
mysql> show create table tablename;
 
5、用SQL语句进行转换
select "alter table ",a.table_name," engine = 'Innodb'; "  from (select table_name from information_schema.tables where table_schema = 'baseball')as a;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多