用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java实现并查集

    Java实现并查集喝杯 82 年的 Java 压压惊这次需要介绍的就是并查集并查集的简单应用就是连通图 网络通信连接等等总之很重要那么先说一下这次的算法是 1 union find 简单并查集 2 quick union 优化的并查集 3 加权值 quick union 处理了 2 的最坏情况 4 路径压缩加权值 quick union 如果只是想要一下算法 你可以直接跳到最后看第 4 个算法接下来 我

    2025年6月1日
    0
  • 数组 选择排序 c语言[通俗易懂]

    数组 选择排序 c语言[通俗易懂]解法一:#include<stdio.h>#defineNUM10intmain(){inta[NUM],i,j,k,t;printf(“请输入%d个数”,NUM);for(i=0;i<NUM;i++)scanf(“%d”,&a[i]);for(i=0;i<NUM-1;i++){…

    2022年6月25日
    27
  • pycharm关闭自动补全_python opencv 教程

    pycharm关闭自动补全_python opencv 教程我刚下载pycharm,准备学opencv,然后在网上博客上找了许多文章看了,有的说下载后导入修改cv2文件夹里的_init_.py,但是经过测试也不行,个人感觉总是少了啥,然后找了许多文章看了然后也试了,除了安装opencv成功之外就没有了。后来看了许多文章之后看见每个博客写的方法都不一样,这里我就有点顿悟了…我看到cv2文件夹中的_init_.py里面的code已经说清楚啦,我是刚开始不怎么看得懂英文的意思,后来仔细看了才大概明白了一丢丢…请看:importimportlibimport

    2022年8月26日
    3
  • spring boot + kafka 使用详细步骤[通俗易懂]

    spring boot + kafka 使用详细步骤[通俗易懂]一,Kafka的安装以及配置1.下载文件wgethttp://mirror.bit.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz2.安装tarxzvfkafka_2.11-0.11.0.0.tgz-C/usr/local/3.配置(服务器在阿里云ECS上)vi%kafka_home%/server…

    2022年5月9日
    139
  • mysql float double区别_mysql float和double类型的区别

    mysql float double区别_mysql float和double类型的区别2017-11-04回答1.float类型float列类型默认长度查不到结果,必须指定精度,比如numfloat,insertintotable(num)values(0.12);select*fromtablewherenum=0.12的话,emptyset。numfloat(9,7),insertintotable(num)values(0.12);…

    2025年7月14日
    0
  • SpringBoot2.0集成WebSocket,实现后台向前端推送信息

    SpringBoot2.0集成WebSocket,实现后台向前端推送信息什么是WebSocket?-初次接触WebSocket的人,都会问同样的问题:我们已经有了HTTP协议,为什么还需要另一个协议?它能带来什么好处?-答案很简单,因为HTTP协议有一个缺陷:***通信只能由客户端发起***,HTTP协议做不到服务器主动向客户端推送信息。https://github.com/moshowgame/spring-cloud-study/tree/master/spring-cloud-study-websocket

    2022年5月3日
    47

发表回复

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

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