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
 
欢迎各位一起交流。

时间: 2024-11-05 16:37:27

MySQL 整库单表备份 for python脚本的相关文章

mysql单表备份和恢复

说明:此脚本经测试可用于数据清理,对单表进行清理,清理出问题,可以回退进行单表的恢复.脚本特点:脚本1用于单表备份脚本2用于对单表进行数据恢复并增加完善的日志记录功能.支持脚本传参,对指定的表进行备份和恢复.通用性好,只需改下用户密码和想要备份的库,即可用. 1.mysql_bak_table.sh #mysql单表备份脚本使用方法:sh mysql_bak_table.sh table_name #!/bin/bash#author laocao#time:20180412 back_dir=

16、MySQL数据库分库分表备份脚本

MySQL数据库分库分表备份脚本 ===================学员分享分库分表========================== 脚本单双引号的区别: 单引号是强引用,强制输出是所见即所得. 双引号是解析变量 和 多个字符串.数字等连接一个字符串 条件1  ||    条件2                      或   假真   真假 条件1 && 条件2                      并   真真    假假 !条件1  && 条件2    

数据库mysql 自动分库分表备份脚本

数据库mysql 自动分库分表备份脚本 当我们在公司中遇到数据库的备份,项目比较多,经常进行数据库和表的添加工作,那么我们 想要让系统脚本自动进行查询数据库里的库和表结构,然后进行自动的定期进行数据库和表的定期份, 那么我们该如何实现呢,大家看看以下的脚本: vi mysql_backup.sh #!/bin/sh #backup tiandao bbs edoing #coding tonye.li MYUSER=root MYPASS=meidi SOCKET=/data/3306/mysq

mysql简单的单表查询详解

mysql简单的单表查询详解 MySQL的查询操作: 单表查询:简单查询 多表查询:连续查询 联合查询: 选择和投影: 投影:挑选要显示的字段 选择:挑选符合条件的行 投影:SELECT 字段1, 字段2, ... FROM tb_name;  SELECT * FROM tb_name; 选择:SELECT 字段1, ... FROM tb_name WHERE 子句; 布尔条件表达式 mysql> CREATE TABLE students (SID INT UNSIGNED AUTO_IN

mysql A库a表 B库b表 将a表导入b表中

今天接到开发妹子的需求,导入指定月份的数据到测试服mysql指定的表中(表名称不一样) 首先看了下线上的表的整体大小 mysql> SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH)  FROM information_schema.TABLES where TABLE_SCHEMA='库名' AND TABLE_NAME='表名'; +------------------------------------+ | sum(DATA_LENGTH)+sum(IND

mysql 生产库大表delete

mysql 生产库大表删除 一般线上业务增长较快,造成某些表达到分表的临界值,表行数超过2000w且查询频繁,如表业务没有较多的聚合查询的话,可以考虑按时间归档部分历史数据.现推荐2种本人之前使用过的删除方式. 按照主键或者索引拆分后分段执行,使用存储过程 需要注意这种大表删除,如果是在主库执行,尽量把会话改成语句格式,以保证不会出现复制延迟 语句如下:set session binlog_format='STATEMENT'; CREATE PROCEDURE sp_delete_data()

如何用Percona XtraBackup进行MySQL从库的单表备份和恢复【转】

前提 应该确定采用的是单表一个表空间,否则不支持单表的备份与恢复. 在配置文件里边的mysqld段加上 innodb_file_per_table = 1 环境说明: 主库:192.168.0.1 从库1:192.168.0.2 从库2:192.168.0.3 备份工具 : Percona xtrabackup version 2.4.8 based on MySQL server 5.7.13 Linux (x86_64) (revision id: 97330f7) 在主库上创建chenfe

Python中使用SQLAlchemy连接Mysql数据库(单表操作)

一,SQLAlchemy的安装 使用 $ easy_install sqlalchemy 或 $ pip install sqlalchemy 如果出现什么错,就进去root用户下进行安装试试,或者网上查查 >>> import sqlalchemy >>> 这样说明成功了,切记是小写哦 二,使用 理论我也不懂,自己查查资料,现在用一个小的案例说一下使用步骤 1,在进行数据操作之前要先连上数据库. >>> from sqlalchemy import

利用Percona XtraBackup进行单表备份恢复

大部分情况下,使用用Percona XtraBackup进行整库的备份和恢复比较容易,此处略去:对于单表的恢复略有不同,而且对数据库版本和Percona XtraBackup的版本都有限制局限性:1.源库MySQL版本无要求,但启用了innodb_file_per_table=12.目的库开启innodb_file_per_table=1,Percona XtraDB或者MySQL5.6官方要求开启下面的两个参数,但发现5.6没有这样的变量,没去修改:innodb_expand_import=1