上一期【运维日记|MySQL运维必备神器】中我们介绍了如何做一个无情的杀手,这一期给大家介绍如何做一个优雅搬运工。
搬运工也是要有工具的,在当代科技这么发展的时候,就算我们没有挖掘机这种高端工具,小推车也是要有的!pt-archiver这个工具就是来帮助我们做一个优雅搬运工的挖掘机。
01 使用场景
1.清理线上过期数据
2.清理过期数据,并把数据归档到本地归档表中,或者远端归档服务器
3.两张表之间的数据不完全相同,希望合并。此时加上–ignore或–replace选项,可以轻松实现
4.导出线上数据,到线下数据作处理
该工具可用于归档/清理/合并等操作,可见适用面非常广泛。
02 使用要求
1. 归档表必须存在主键
2. 需要配置client字符集为utf-8,如果你用了utf-8的编码,防止归档数据为乱码
[client]
default-character-set=utf8
常用参数列表
那我们学会了秘籍,下面就让我们勤劳的搬运工~
03 范例
1. 仓库物品做复制品,仓库里面东西不变(只把数据导出到外部文件,但是不删除源表里的数据)
2.把仓库物品符合要求的销毁(删除,不导出和迁移)
3.把仓库物品做复制品,并将复制品搬运到另一个仓库(全表归档到其他库)
注:
目标库导入需要开启load data local功能
SET GLOBAL local_infile = 1;
4. 根据把仓库物品搬运到另一个仓库(根据条件归档到其他库并删除原库数据)
注:
目标库要创建同结构表
以上,范例中实现的是几个常用场景,更多的场景待我们去发现。例如我们可以根据具体要求进行归档,业务表中只保留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
请登录后发表评论
注册