MySQL 整库单表备份 for python脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 整库单表备份 for python脚本相关的知识,希望对你有一定的参考价值。

 

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

from datetime import date, datetime, timedelta
import os,time

user = ‘dbuser‘
passw = ‘password‘
ip = ‘10.8.8.8‘
dir = ‘/data/backup/db/tmp‘
mysqlbase = ‘/usr/local/mysql/bin/‘

if  os.path.isdir(dir):
    print("dir ok")
else:    
    os.makedirs(dir)
DBNAME=[‘db1‘,‘db2‘,‘db3‘]
os.chdir(dir)
for dbname in DBNAME:
    print(passw)
    ad = os.popen(mysqlbase+‘mysql -h‘+ip+‘ -u‘+user+‘ -p‘+passw+‘ -e "use ‘ + dbname + ‘;show tables "|grep -v Tables_in‘).read()
    ad1=ad.replace(‘\n‘,‘,‘).rstrip(‘,‘).split(‘,‘)
    for tabname in ad1:
        os.system(mysqlbase+‘mysqldump  -h‘+ip+‘ -u‘+user+‘ -p‘+passw+‘ --set-gtid-purged=off  --single-transaction  -R  ‘+dbname+‘ ‘ + tabname+‘ > ‘+dir+ ‘/‘+dbname + ‘.‘+ tabname +‘.sql‘)
    dat = time.strftime(‘%Y%m%d_%H%M‘,time.localtime(time.time()))
    os.system(‘cd ‘+dir+‘;tar zcvf ‘+dat+dbname+‘.tar.gz *sql; rm -f *.sql‘)

 
 
设置计划任务每小时备份一次方便恢复单表:
0 */1 * * *    /root/python/mysqldump_table.py >/dev/null 2>&1
 
欢迎各位一起交流。

以上是关于MySQL 整库单表备份 for python脚本的主要内容,如果未能解决你的问题,请参考以下文章

(3.2)mysqldump之备份单个表及脚本批量备份

mysql单表备份和恢复

pg数据库的备份和恢复以及sql脚本错误的解决方法

MySQL的备份与恢复

Mysql如何不停机迁移到分库分表

如何访问数据表库单表中其他json对象的值?