python执行mysqldump命令

python执行mysqldump命令

本文简单讲述如何利用python执行一些sql语句,例如执行mysqldump命令,进行数据库备份,备份成sql文件
#!/usr/bin/python
#导入os模块
import os
#导入时间模块
import time
#导入sys模块
import sys
#追加mysql的bin目录到环境变量
sys.path.append('C:Program Files (x86)MySQLMySQL Server 5.5in')

#如果不存在backup文件,新建一个
if not os.path.exists('backup'):
    os.mkdir('backup')
#切换到新建的文件夹中
os.chdir('backup')
#def tuplesql(command,server,user,passwd,db,table,filename):
#   return (mysqlcomm,dbserver,dbuser,dbpasswd,dbname,dbtable,exportfile)
#定义一系列参数
mysqlcomm='mysqldump'
dbserver='xxxx.xxxx.com'
dbuser='xxxxxxx'
dbpasswd='xxxxxxxxxxxxxxxxxxxxxxxx'
dbname='xxxxxx'
dbtable='xxxxx'
exportfile='xxxx.sql'
#定义sql的格式
sqlfromat="%s -h%s -u%s -p%s %s %s >%s"
#生成相应的sql语句
sql=(sqlfromat%(mysqlcomm,dbserver,dbuser,dbpasswd,dbname,dbtable,exportfile))

#判断是否已经有相应的sql文件生成;如果有,就按时间重命名该文件
if os.path.exists(r'qiang.sql'):
    print(time.ctime())
    os.rename('qiang.sql','qiang'+str(time.time())+'.sql')
    print('qiang'+str(time.time)+'.sql')
#执行sql并获取语句,os.system和subprocess.Popen执行该sql无效果,不知道是怎么回事,后续会继续关注
result=os.popen(sql)
#对sql执行进行判断
if result:
    print("backup completed!")
else:
    print("I'm sorry!!!,backup failed!")
python执行mysqldump命令