python mysql异地备份_python脚本备份mysql数据库

很早的时候(2010年)写过一个java版本的备份mysql数据库,这次来个python的。

备份完成的效果如下,备份的目录会自动创建,需要备份的db是自动获取所有的(如果只备份部分数据库自行修改一下,参考之前的java版本):

b256cb503703?tdsourcetag=s_pctim_aiomsg

image.png

上代码:

# -*- coding: utf-8 -*-

import os,time,pymysql

user='user'

pwd='pwd'

def getDatabaseNames():

conn = pymysql.connect("localhost", user, pwd, use_unicode=True, charset="utf8")

cur = conn.cursor()

cur.execute('show databases;')

dbs = cur.fetchall()

cur.close()

conn.close()

return dbs

#path trim一下然后创建

def mkdir(path):

path = path.strip()

path = path.rstrip("\\")

isExists = os.path.exists(path)

if not isExists:

os.makedirs(path)

return True

else:

return False

if __name__ == '__main__':

timestr = time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))

folder = "mysql_data_bak/"+timestr

mkdir(folder)

dbs = getDatabaseNames()

print(dbs)

for db in dbs:

try:

dbname = db[0]

#排除自带的db

if dbname=="mysql" or dbname=="performance_schema" or dbname=="information_schema" or dbname=="sys":

continue

#导出db

cmd = "mysqldump -u%s -p%s %s > %s/%s.sql" % (user, pwd, dbname, folder, dbname)

print(cmd)

os.system(cmd)

except Exception as e:

print(e)

b256cb503703?tdsourcetag=s_pctim_aiomsg

老胡的公众号,关注一波吧


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部