pt-find教你成为一个查找机器

美创科技

    上一期【美创运维日记|pt-archiver助你成为一个优雅搬运工】中我们介绍了如何做一个优雅搬运工,这一期给大家介绍如何做一个查找机器。
    现实运维中面对着这样一个问题,随着业务不断运行,表的数量越来越多。如何快速根据我们条件的查找到对应的表呢?
    (虽然可以通过SQL语句也可以进行实现ヾ(o???)?ヾ)
    但是这里给大家推荐pt-find工具,更方便大家来进行查找 mysql 表,并对符合条件的表执行指定的命令。
    pt-find工具
    模板:
    pt-find [OPTION...] [DATABASE...]
    常用参数列表
    
    图1:常见参数列表
    那我们学会了秘籍,下面我们根据几个实际环境进行学习 ~
    范例
    1. 查找库中1天以前创建的 InnoDB 的表 ,并打印
    
    注:
    默认区分大小写(InnoDB与InnoDb不同),使用--case-insensitive参数
    2. 查找库中1天以前更改过的数据库名字匹配%hostsops%的并且引擎为 MYISAM 的表,并将表的引擎更改为InnoDB 引擎
    
    3. 查找库中a库和b库中的空表,并删除
    
    4. 查找库中超过100M的表
    
    5. 查找库中所有的表并且打印出表大小(数据加索引),并且自动排序
    
    6. 执行插入操作
    
    以上,pt-find 工具常用的场景均已涉及,包括查找最近创建的表、表大小并可进行批量操作等等,使用前需提前测试并熟悉相关工具。