迁移服务器后,发现还有一批表是 MyISAM 引擎,写了一个脚本,把它们全升级到了 InnoDB。

在线地址: https://github.com/xiachufang/BlackCookbook/blob/master/python/sa/My2InnoDB.py

源码:

#!/usr/bin/env python
#coding:utf8
#将mysql数据库中所有的 myisam 表升级为 innodb
import sqlalchemy as sa
#示例中的 mysql 服务器的超级用户只允许操作系统信任登录
db = 'db'
engine=sa.create_engine("mysql://127.0.0.1/%s"%db)
for row in engine.execute("SHOW TABLE STATUS from  %s where engine='MyISAM'"%db):
    print "upgrade %s's engine"%row["name"]
    engine.execute("alter table %s engine InnoDB"%row["name"])




Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐