mysql归档python_MySQL数据归档实战-Python和pt-archiver的强强结合

导读

作者:蓝剑锋

TCL高级DBA,MySQL&Oracle OCP

知数堂MySQL实战/优化班第12期学员

微信:lanjian106103

个人公众号:DBARUN

f760302cce46f79672b1a629e76bf6de.png

一、引言

前段时间,在优雅的使用pt-archiver进行数据归档一文中介绍了pt-archiver的使用方法,也将pt-archiver部署到了生产环境,这时候问题来了~

生产环境需要做归档的任务有十几个,如果要知道每个归档任务成功与否、跑了多长时间、归档了多少数据,就得手工逐个查看日志,非常枯燥的重复劳动,那是否有办法可以统一管理呢?

于是用python倒腾了一个小工具—mysql_archiver小工具,github地址:https://github.com/dbarun/mysql_archiver

c502a1aa1fcdc3362bb11bc799789b61.png

二、mysql_archiver

2.1 归档调度

db_archive_exec.py,从数据库获取归档任务的基本信息,调用pt-archiver进行操作

2.1.1 表结构设计

表db_archive_info,主要存放归档任务的基本信息

747da0731ca2f43276fc6112e3018a11.png

表db_archive_log,主要存放归档任务的执行日志

05bd05479e854a33c667814185303df6.png

2.1.2 获取归档任务

18459d820ba97cdd9d5d587e5cc4f8f5.png

2.1.3 调用pt-archiver

2bba526de26948813269ad7996c49b5b.png

2.1.4 部署crontab

执行db_archive_exec.py需要指定两个参数,

参数1:db ip/域名

参数2:db schema

如:python db_archive_exec.py 127.0.0.1 db123

3b8ff9b49d20eaf6163a5bed5e819823.png

2.2 归档监控

db_archive_monitor.py,监控前一次的归档任务是否执行成功,并结合zabbix进行报警

686bcfd52a9808e333a63c1ce65f8284.png

2.2.1 数据库视图设计

视图vw_db_archive_fail,汇总前一天执行失败的归档任务

7749a0477bcb195562dba1cabac43013.png

2.2.2 获取归档监控信息

101a74c86e1421f47a3e643bef8b7c90.png

2.2.3 通过logger生成文本

483cb863afda91799ba826e9395b8ccf.png

2.3 归档报表

db_archive_report_weekly.py,生成前一周的归档情况,并以邮件方式发送

36776c010c59bea3a28da055a0b0c5ff.png

2.3.1 表结构设计

表db_archive_report_weekly,主要存放数据库归档周报数据

f28fcad4225ce683b9b3f59e93e02a5c.png

2.3.2 数据库视图设计

视图vw_db_archive_report_weekly,计算前一周的数据库归档情况

e3aa6829f76963e8194e774078276ea3.png

2.3.3 生成邮件内容

4c26067d8ef7bfca4b261165d4f7f556.png

三、小结

开发运维工具,说白了,就是为了避免重复的运维工作,让运维尽可能地自动化。所以,能提高生产力的工具,我觉得都是好工具。

MySQL_archiver基本上实现了数据归档的自动运转,统一的归档任务调度管理、自动监控和预警、自动生成报表。在一定程度上节约了生产力,提高了运维效率。

MySQL_archiver也是存在很多缺点的,比如:Python代码有点臃肿,不够简洁;缺少可视化的操作界面,如果能有一套运维平台,那就完美了。

期待各路大神的交流、指点~

03bd8b195fc25681ab7216126230096e.png

扫码加入知数堂技术交流QQ群

(群号:579036588)

群内可@各位助教了解更多课程信息

7155fa6c147d1d2b5e5b60921c92bf01.png

4f3711a67fb07e3f3045b448292859d3.png

6bff3bc9004f42ab625d8780d0184624.png

069c8c7422e997ea08708359958caa47.png

知数堂

叶金荣与吴炳锡联合打造

领跑IT精英培训

行业资深专家强强联合,倾心定制

MySQL实战/MySQL优化 / Python/ SQL优化

数门精品课程

紧随技术发展趋势,定期优化培训教案

融入大量生产案例,贴合企业一线需求

社群陪伴学习,一次报名,可学3期

DBA、开发工程师必修课

上千位学员已华丽转身,薪资翻番,职位提升

改变已悄然发生,你还在等什么?

fdad002a86b57d611f92105a1a451143.png

扫码下载知数堂精品课程试听视频

或点击“阅读原文”直达下载地址

(MySQL 实战/优化、Python开发,及SQL优化等课程)

密码:hg3h

38013dd5a5461c858c1c994bbd8f6a83.png

00259408357e77bf6bd05da7ea948fca.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nside君的MySQL网络培训班课程特点: 业界最权威的MySQL数据库培训师姜承尧老师(也就是Inside君本人啦)亲授.姜承尧老师出版了《MySQL技术内幕:InnoDB存储引擎》、《MySQL内核:InnoDB存储引擎》等Mysql书籍。 课程紧密结合互联网公司实践,学员能够领略到BAT、网易等大公司的数据库架构与应用案例 课纲结合最新的MySQL 5.6、5.7版本,使得学员学到的都是最新的内容 充分掌握课程内容的学员年薪至少在25W起,第1期的学员已经证明了培训的价值 优秀学员可以获得姜老师的BAT等大型互联网公司的内推 面试技巧与简历模板(新增),帮助学员拿到更好的offer MySQL 安装与引擎 day001-MySQL 5.7介绍和安装 day002-MySQL 5.7安装多实例 day003-MySQL升级 参数 连接 权限 day004-MySQL权限拾 遗Role模拟 Workbench 体系结构 day005-slow_log generic_log audit 存储引擎一 day006-存储引擎二 多实例安装上 day007-MySQL 多实例下 SSL MySQL 数据类型和SQL查询 开发 day008-MySQL 数据类型 day009-精通JSON类型 day010-Employees 临时表的创建 外键约束 day011-SQL语法之SELECT day012-子查询 INSERT UPDATE DELETE REPLACE day013-作业讲解一 Rank 视图 UNION 触发器上 day014-触发器下 存储过程 自定义函数 MySQL 执行计划与优化器 day015-索引 B+树 上 day016-索引 B+树 下 Explain 1 day017-Explain 2 MySQL innodb引擎优化 day018-磁盘 day019-磁盘测试 day020-InnoDB_1 表空间 General day021-InnoDB_2 SpaceID.PageNumber 压缩表) day022-InnoDB_3 透明表空间压缩 索引组织表 day023-InnoDB_4 页(2) 行记录 day024-InnoDB_5 – heap_number Buffer Poo day025-InnoDB_6 Buffer Pool与压缩页 CheckPoint LSN day026-InnoDB_7 doublewrite ChangeBuffer AHI FNP MySQL 索引与innodb锁机制 day027-Secondary Index day028-join算法锁_1 day029-锁_2 day030-锁_3 day031-锁_4 day032-锁_5 day032-锁5标清 day033-锁_6 事物_1 day033-锁_6 事物1标清 day034-事物_2 MySQL 性能衡量 day035-redo_binlog_xa day036-undo_sysbench day036-undosysbench标清 day037-tpcc_mysqlslap MySQL 备份与恢复 day038-purge死锁举例_MySQL backup备份_1 day039-MySQL backup备份恢复_2 MySQL 复制技术与高可用 day040-MySQL 备份恢复backup_3_replication_1 day041-backup_4-replication_2 day042-replication_3 day043-replication_4-GTID 1 day044-replication_5-GTID 2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值