1. # 环境: python3.x
  2.  
  3. def getExportDbSql(db, index): # 获取导出一个数据库实例的sql语句
  4. 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)
  5. return sql
  6.  
  7. def createDbBackupFile(fname, dbList): # 生成数据库导出的语句保存到文件
  8. if not fname or not dbList:
  9. return False
  10.  
  11. f = open(fname, 'w')
  12. if f:
  13. f.write('echo @off\n\n')
  14. for db in dbList:
  15. for index in db['indexList']:
  16. f.write('REM %s.s%d\n' %(db['server'], index))
  17. f.write('%s\n\n' %getExportDbSql(db, index))
  18. f.write('\n')
  19.  
  20. f.close()
  21. return True
  22.  
  23. return False
  24.  
  25. def initDb(user, pwd, host, port, server_name, indexList): # 生成db字典对象并返回
  26. db = {}
  27. db['user'] = user
  28. db['pwd'] = pwd
  29. db['host'] = host
  30. db['port'] = port
  31. db['server'] = server_name
  32. db['indexList'] = indexList
  33.  
  34. return db
  35.  
  36. def displayDb(db):
  37. print('user =', db['user'])
  38. print('pwd =', db['pwd'])
  39. print('host =', db['host'])
  40. print('port =', db['port'])
  41. print('server =', db['server'])
  42. print('indexList =', db['indexList'])
  43. print('\n')
  44.  
  45. def displayList(list):
  46. for item in list:
  47. displayDb(item)
  48.  
  49. if __name__ == '__main__':
  50. db1 = initDb('root', '', '127.0.0.1', 3306, 'th1', [10000, 1, 3])
  51. db2 = initDb('root', '', '127.0.0.1', 3306, 'th2', [10000, 1])
  52.  
  53. dbList = []
  54. dbList.append(db1)
  55. dbList.append(db2)
  56.  
  57. #displayList(dbList)
  58.  
  59. createDbBackupFile('export00.bat', dbList)
  60. # 何问起 hovertree.com

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

用python生成一个导出数据库的bat脚本文件的更多相关文章

  1. Python生成PASCAL VOC格式的xml标注文件

    Python生成PASCAL VOC格式的xml标注文件 PASCAL VOC数据集的标注文件是xml格式的.对于py-faster-rcnn,通常以下示例的字段是合适的: <annotatio ...

  2. C#对bat脚本文件的操作示例

    实现C#操作bat脚本文件 using System;using System.Collections.Generic;using System.ComponentModel;using System ...

  3. 用 Python 写一个 NoSQL 数据库Python

    NoSQL 这个词在近些年正变得随处可见. 但是到底 “NoSQL” 指的是什么? 它是如何并且为什么这么有用? 在本文, 我们将会通过纯 Python (我比较喜欢叫它, “轻结构化的伪代码”) 写 ...

  4. windows系统下使用bat脚本文件设置 JDK 系统环境变量

    号开头的行不要写在bat文件中 # java_init.bat # 注意文件换行符是windows系统下的(CR LF),文件编码是ANSI # path变量追加这个可以拓展到tomcat,mysql ...

  5. 用Python写一个向数据库填充数据的小工具

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...

  6. Python生成一个不含回文字符串的字符串

    [本文出自天外归云的博客园] 回文字符串介绍 回文字符串就是对称的字符串,例如: “ABA” “ABBA” “ABCBA” 题目 给定一个字符串,请发明一种方法,让字符串中不包含回文字符串. 我的解法 ...

  7. 用 python 生成一个简单的词云图

    import jieba from nltk import * from wordcloud import WordCloud import matplotlib.pyplot as plt word ...

  8. Python 生产环境MySQL数据库增量备份脚本

    MySQL数据库常用的办法是通过MySQLdump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题.前面写了一遍文章介绍xtrabackup的热备工具,见 http://w ...

  9. python 检索一个目录下所有的txt文件,并把文件改为.log

    检索一个目录及子目录下所有的txt文件,并把txt文件后缀改为log: import os f_path = r'C:\Users\PycharmProjects\mystudy\Testfolder ...

随机推荐

  1. Facebook 发布「流程」

    时不时就会在面试过程中碰到有候选人问 Facebook 是否采用 Scrum 之类的敏捷方法,偶尔也会有中国的朋友问及 Facebook 上线流程.我通常会简单说几句,然后说「如果你真感兴趣的话,去搜 ...

  2. 从点击Button到弹出一个MessageBox, 背后发生了什么

    思考一个最简单的程序行为:我们的Dialog上有一个Button, 当用户用鼠标点击这个Button时, 我们弹出一个MessageBox. 这个看似简单的行为, 谁能说清楚它是如何运行起来的,背后究 ...

  3. [蓝牙] 6、基于nRF51822的蓝牙心率计工程消息流Log分析(详细)

    开机初始化Log Log编号 函数名   所在文件名 000001: main ..\main.c 000002: timers_init ..\main.c 000003: gpiote_init ...

  4. 4、CC2541芯片中级教程-OSAL操作系统(简单AT指令实现+IIC软件和硬件实现驱动MPU6050)

    本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...

  5. 身份证号码查询与生成(C#源码)

    项目要用到这个功能,就写了一个,完整类也就二百来行,很简单.可以在项目中用,也可以作为学习. 源码下载 http://yunpan.cn/cmQCSWkhDnZLJ  访问密码 0227 核心代码如下 ...

  6. 小计C/C++问题(1)

    本文主要记录了以下2个问题: 表达式中,有符号变量和无符号变量的转化问题 C/C++中,main函数执行完以后,还执行了什么语句? 这里简单的说一下我的环境:Win7 32位,Qt creator 5 ...

  7. RSS与公众号

    这次怀念下曾经火热的RSS.RSS是我很喜欢的一种看信息学习的方式,但是这项技术随着谷歌reader产品的停止已经陨落了.之后再无给力的客户端,无法让人愉悦的使用.我也曾尝试用鲜果,有道等国内产品,由 ...

  8. Linux初学 - 解决chkconfig Segmentation fault(core dumped)

    yum install *chkconfig*

  9. 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境

    使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...

  10. git查看日志

    git查看日志 git log -n 显示前N条记录 git log -3 退出log命令 直接输入: q git log --stat -n 显示提交的文件的简要的修改统计 $ git log -- ...