用python生成一个导出数据库的bat脚本文件

推荐:http://www.cnblogs.com/roucheng/p/pythonyunsuan.html

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

# 环境: python3.x  
  
def getExportDbSql(db, index):                  # 获取导出一个数据库实例的sql语句  
    sql = 'mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql' %(db['user'], db['pwd'], db['host'], db['port'], index, db['server'], index, index)  
    return sql  
  
  
def createDbBackupFile(fname, dbList):          # 生成数据库导出的语句保存到文件  
    if not fname or not dbList:  
        return False  
  
    f = open(fname, 'w')  
    if f:  
        f.write('echo @off\n\n')  
        for db in dbList:  
            for index in db['indexList']:  
                f.write('REM %s.s%d\n' %(db['server'], index))  
                f.write('%s\n\n' %getExportDbSql(db, index))  
            f.write('\n')  
  
        f.close()  
        return True  
  
    return False  
  
  
def initDb(user, pwd, host, port, server_name, indexList):  # 生成db字典对象并返回  
    db = {}  
    db['user'] = user  
    db['pwd'] = pwd  
    db['host'] = host  
    db['port'] = port  
    db['server'] = server_name  
    db['indexList'] = indexList  
  
    return db  
  
  
def displayDb(db):  
    print('user =', db['user'])  
    print('pwd =', db['pwd'])  
    print('host =', db['host'])  
    print('port =', db['port'])  
    print('server =', db['server'])  
    print('indexList =', db['indexList'])  
    print('\n')  
  
def displayList(list):  
    for item in list:  
        displayDb(item)  
  
if __name__ == '__main__':  
    db1 = initDb('root', '123456', '127.0.0.1', 3306, 'th1', [10000, 1, 3])  
    db2 = initDb('root', '123456', '127.0.0.1', 3306, 'th2', [10000, 1])  
      
    dbList = []  
    dbList.append(db1)  
    dbList.append(db2)  
  
    #displayList(dbList)  
      
    createDbBackupFile('export00.bat', dbList) 
# 何问起 hovertree.com

推荐:http://www.cnblogs.com/roucheng/p/pythonyunsuan.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120435.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号