【MySQL备份】Python备份MySQL数据库

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import MySQLdb
import time
import datetime
import os


dbuser = 'root'
dbpassword = 'root'
dbhost = '127.0.0.1'
dbcharset ='utf8'

backupdir = '/data/backup'
backupdate = time.strftime("%Y%m%d")

sqlstr = "show databases;"

try:
conndb = MySQLdb.connect("127.0.0.1","root","root","elon")
conndb.select_db('elon')
cursql1=conndb.cursor()
cursql1.execute(sqlstr)
alldatabase = cursql1.fetchall()
print('The db backup to start! %s' %time.strftime('%Y-%m-%d %H:%M:%S'))

for db in alldatabase:
dbname = db[0]
filename = '%s/%s_%s.sql' %(backupdir,backupdate,dbname)
print(filename)
if os.path.exists(filename):
os.remove(filename)
os.system("mysqldump -h%s -u%s -p%s %s --single-transaction > %s/%s_%s.sql" %(dbhost,dbuser,dbpassword,dbname,backupdir,backupdate,dbname))


print('The database backup success! %s' %time.strftime('%Y-%m-%d %H:%M:%S'))

except MySQLdb.Error as err_msg:
print ("MySQL error msg:",err_msg)

posted on 2018-11-15 21:13  helontian  阅读(183)  评论(0)    收藏  举报