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

359次阅读  |  发布于5年以前

实例如下:


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

以上这篇利用python生成一个导出数据库的bat脚本文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8