为了账号安全,请及时绑定邮箱和手机立即绑定

python脚本备份mysql数据库

标签:
Python

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

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


webp

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 Falseif __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)



作者:胡晓的简书
链接:https://www.jianshu.com/p/b256cb503703


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消