MySQL数据归档小工具mysql_archiver详解

论坛 期权论坛 脚本     
niminba   2021-5-23 04:18   925   0

一.主要概述

MySQL数据库归档历史数据主要可以分为三种方式:一.创建编写SP、设置Event;二.通过dump导入导出;三.通过pt-archiver工具进行归档。第一种方式往往受限于同实例要求,往往被大家舍弃。第二种,性能相对较好,但是归档表较多时运维也是比较头疼的事。所以很多DBA往往采用第三种方式--pt-archiver。

pt-archiver是Percona-Toolkit工具集中的一个组件,是一个主要用于对MySQL表数据进行归档和清除的工具。它可以将数据归档到另一张表或者是一个文件中。pt-archiver在清除表数据的过程中并不会影响OLTP事务的查询性能。对于数据的归档,它可以归档到另一台服务器上的另一张表,也可归档到一个文件中。

有一个网友通过Python开发了将pt-archiver打包成了一个小工具—mysql_archiver,它基本实现了归档作业的配置化部署,使用起来挺不错。"MySQL_archiver基本上实现了数据归档的自动运转,统一的归档任务调度管理、自动监控和预警、自动生成报表。在一定程度上节约了生产力,提高了运维效率。"

github地址:https://github.com/dbarun/mysql_archiver

二.pt-archiver主要参数参数

参数 默认值 参数解释
--check-slave-lag   指定主从复制延迟大于选项'--max-lag'指定的值之后暂停归档操作。默认情况下,工具会检查所有的从库,但该选项只作用于指定的从库(通过DSN连接方式)。
--check-interval 1s 如果同时指定了选项'--check-slave-lag',则该选项指定的时间为工具发现主从复制延迟时暂停的时间。每进行操作100行时进行一次检查。
--[no]check-charset yes 指定检查确保数据库连接时字符集和表字符集相同。
--commit-each   指定按每次获取和归档的行数进行提交,该选项会禁用选项'--txn-size'。 在每次获取表数据并进行归档之后,在获取下一次数据和选项'--sleep'指定的休眠时间之前,进行事务提交和刷新选项'--file'指定的文件,通过选项'--limit'控制事务的大小。
--host,-h   指定连接的数据库IP地址。
--port,-P   指定连接的数据库Port端口。
--user,-u   指定连接的数据库用户。
--password,-p   指定连接的数据库用户密码。
--socket,-S   指定使用SOCKET文件连接。
--databases,-d   指定连接的数据库
--source   指定需要进行归档操作的表,该选项是必须指定的选项,使用DSN方式表示。
--dest   指定要归档到的目标端表,使用DSN方式表示。 如果该选项没有指定的话,则默认与选项'--source'指定源端表为相同表。
--where   指定通过WHERE条件语句指定需要归档的数据,该选项是必须指定的选项。不需要加上'WHERE'关键字,如果确实不需要WHERE条件进行限制,则指定'--where 1=1'。
--file   指定表数据需要归档到的文件。使用类似MySQL DATE_FORMAT()格式化命名方式。 文件内容与MySQL中SELECT INTO OUTFILE语句使用相同的格式,文件命名选项如下所示: ' %Y:年,4位数(Year, numeric, four digits) %m:月,2位数(Month, numeric (01..12)) %d:日,2位数(Day of the month, numeric (01..31)) %H:小时(Hour (00..23)) %i:分钟(Minutes, numeric (00..59)) %s:秒(Seconds (00..59)) %D:数据库名(Database name) %t:表名(Table name) 例如:--file '/var/log/archive/%Y-%m-%d-%D.%t' '
--output-format   指定选项'--file'文件内容输出的格式。 默认不指定该选项是以制表符进行字段的分隔符,如果指定该选项,则使用','(逗号)作为字段分隔符,使用'"'(双引号)将字段括起。用法示例:'--output-format=dump'。
--limit 1 指定每条语句获取表和归档表的行数。
--max-lag 1s 指定允许主从复制延nZ&6fW.k{XX6V6'6WCУXh^IУb673&66У&R673''W6ХW6vSB&6fW"6RE4W&RtU$PРФW'&&wVТGR6B6&RGVW66fRРЧB&6fW"&2&V6g&5F&R6RFW7@Ц&wVW6RE4b42W2FW7BFVfV2FRWw2fPЦg&RFWF6RW6RFRV'wW&&B&6fW"rfWFRFVFУFcУ>Xk>ikjУ&6fW.X6B6У6BfVF'WFcB#У^IKУ6VУBfVF'WFcB"B&B&6fW"csУ&6VУ7GFWBv6V"#"F&"7&3GG3F&'22V"c#FCccsvS#Cs3cSF&#f3S#br#У>Xk>ikjУ&6fW.X'V'B'VVFSУ#hXXNii#У5[h[j>ZFB&6fW.yN[[{>YУG36FWBF6SS#b3c3WFFVF7G&'WFRWfR6rGVBf7C#У5[h[j>[sУG3FV"F&'V7&6fW"7&VFУYKZ螊8T5.Xii8УG3r&w2&w6fR""CSУN[z^X[~KB&6fW#УG3r&w23BcУKyNZ螊8^jNXyJУG3rSB63RW&6FBKB&6fW"h {3УG3r&w2F&&Bs#SrУjX[>K5[h[j>[v7&6fW.yNih~z[ K{NZIyX[45[h[j>Xh^Z{J.zKK^XNih~zhn{~{XyNyX[>ih~z[ZJ~Z^YZIiJ
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛