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

December 17, 2023
测试
测试
测试
测试
6 分钟阅读

大家好,又见面了,我是全栈君

# 环境: 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

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

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多