上一期【运维日记|做一个优雅搬运工】中我们介绍了如何做一个优雅搬运工,这一期给大家介绍如何做一个查找机器。
现实运维中面对着这样一个问题,随着业务不断运行,表的数量越来越多。如何快速根据我们条件的查找到对应的表呢?
(虽然可以通过SQL语句也可以进行实现ヾ(o◕∀◕)ノヾ)
但是这里给大家推荐pt-find工具,更方便大家来进行查找 mysql 表,并对符合条件的表执行指定的命令。
注:安装包及安装方式 大家可见上期公众号:
【运维日记|做一个无情的杀手】
【链接地址】
https://mp.weixin.qq.com/s/G1N6AfvYS0hcfWrH7DGXqQ
pt-find工具
模板:
pt-find [OPTION…] [DATABASE…]
常用参数列表
那我们学会了秘籍,下面我们根据几个实际环境进行学习 ~
范例
- 查找库中1天以前创建的 InnoDB 的表 ,并打印
注:
默认区分大小写(InnoDB与InnoDb不同),使用–case-insensitive参数
- 查找库中1天以前更改过的数据库名字匹配%hostsops%的并且引擎为MYISAM 的表,并将表的引擎更改为InnoDB 引擎
- 查找库中a库和b库中的空表,并删除
- 查找库中超过100M的表
- 查找库中所有的表并且打印出表大小(数据加索引),并且自动排序
- 执行插入操作
以上,pt-find 工具常用的场景均已涉及,包括查找最近创建的表、表大小并可进行批量操作等等,使用前需提前测试并熟悉相关工具。
参考文献
https://www.percona.com/doc/percona-toolkit/2.2/pt-find.html#environment
美创运维中心数据库服务团队拥有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-26 11:56:47 by: database
请登录后发表评论
注册