运维日记|做一个优雅搬运工 – 作者:database

上一期【运维日记|MySQL运维必备神器】中我们介绍了如何做一个无情的杀手,这一期给大家介绍如何做一个优雅搬运工。

搬运工也是要有工具的,在当代科技这么发展的时候,就算我们没有挖掘机这种高端工具,小推车也是要有的!pt-archiver这个工具就是来帮助我们做一个优雅搬运工的挖掘机。

01 使用场景

1.清理线上过期数据

2.清理过期数据,并把数据归档到本地归档表中,或者远端归档服务器

3.两张表之间的数据不完全相同,希望合并。此时加上–ignore或–replace选项,可以轻松实现

4.导出线上数据,到线下数据作处理

该工具可用于归档/清理/合并等操作,可见适用面非常广泛。

02 使用要求

1. 归档表必须存在主键

2. 需要配置client字符集为utf-8,如果你用了utf-8的编码,防止归档数据为乱码

[client]

default-character-set=utf8

常用参数列表图片[1]-运维日记|做一个优雅搬运工 – 作者:database-安全小百科

那我们学会了秘籍,下面就让我们勤劳的搬运工~

03 范例

1. 仓库物品做复制品,仓库里面东西不变(只把数据导出到外部文件,但是不删除源表里的数据)

图片[2]-运维日记|做一个优雅搬运工 – 作者:database-安全小百科

2.把仓库物品符合要求的销毁(删除,不导出和迁移)

图片[3]-运维日记|做一个优雅搬运工 – 作者:database-安全小百科

3.把仓库物品做复制品,并将复制品搬运到另一个仓库(全表归档到其他库)

图片[4]-运维日记|做一个优雅搬运工 – 作者:database-安全小百科

注:

目标库导入需要开启load data local功能

SET GLOBAL local_infile = 1;

4. 根据把仓库物品搬运到另一个仓库(根据条件归档到其他库并删除原库数据)

图片[5]-运维日记|做一个优雅搬运工 – 作者:database-安全小百科

注:

目标库要创建同结构表

图片[6]-运维日记|做一个优雅搬运工 – 作者:database-安全小百科

以上,范例中实现的是几个常用场景,更多的场景待我们去发现。例如我们可以根据具体要求进行归档,业务表中只保留30天业务,那就可以设置一个定时任务根据时间字段进行筛选每天归档!(注:默认会清理原表数据,请反复确认!!!)

美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案.

来源:freebuf.com 2020-08-25 15:24:48 by: database

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论