zoukankan      html  css  js  c++  java
  • perconatoolkit系列之实用类工具使用

    percona-toolkit使用教程之实用类工具

    1.         pt-archiver

    l  功能介绍:

    mysql数据库中表的记录归档到另外一个表或者文件

    l  用法介绍:

    pt-archiver [OPTION...] --source DSN --where WHERE

    这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将数据插入另外一台服务器的其他表中,也可以写入到一个文件中,方便使用load data infile命令导入数据。另外你还可以用它来执行delete操作。这个工具默认的会删除源中的数据。使用的时候请注意。

    l  使用示例:

    范例1:将192.168.3.135上的sanmao库的oss_logid小于100000的记录转移到192.168.3.92上的sanmao库,并归档到oss_log_archive_20120605.log文件中:

    pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --dest h=192.168.3.92,D=sanmao,t=oss_log --file '/var/log/oss_log_archive_20120605.log' --where "id<=100000"  --commit-each

    范例2:将192.168.3.135上的sanmao库的oss_log小于160000的记录归档到oss_log_archive_20120607.log文件中:

    pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --file '/var/log/oss_log_archive_20120607.log' --where "id<=160000"  --commit-each

    范例3:删除192.168.3.135上的sanmao库的oss_log表中id小于167050的记录:

    pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --purge --where 'id<=167050'

    注意:如果是字符集是utf8的话,需要在my.cnf中的[client]下面添加default-character-set = utf8,否则导出的文件内容中文会乱码。

     

    2.         pt-find

    l  功能介绍:

    查找mysql表并执行指定的命令,和gnufind命令类似。

    l  用法介绍:

    pt-find [OPTION...] [DATABASE...]

    默认动作是打印数据库名和表名

    l  使用示例:

    范例1:查找192.168.3.1351天以前创建的InnoDB的表 ,并打印。

    pt-find --ctime +1  --host=192.168.3.135 --engine InnoDB --user=root --password=zhang@123

    范例2:查找192.168.3.1351天以前更改过的数据库名字匹配%hostsops%的并且引擎为MYISAM的表,并将表的引擎更改为InnoDB引擎。

    pt-find --mtime +1 --dblike hostsops --engine MyISAM --host=192.168.3.135 --user=root --password=zhang@123  --exec "ALTER TABLE %D.%N ENGINE=InnoDB"

    范例3:查找192.168.3.135aaa库和zhang库中的空表,并删除。

    pt-find --empty aaa zhang --host=192.168.3.135 --user=root --password=zhang@123  --exec-plus "DROP TABLE %s"

    范例4:查找192.168.3.135中超过100M的表:

    pt-find --tablesize +100M --host=192.168.3.135 --user=root --password=zhang@123

     

    3.         pt-kill

    l  功能介绍:

    Kill掉符合指定条件mysql语句

    l  用法介绍:

    pt-kill [OPTIONS]

    加入没有指定文件的话pt-kill连接到mysql并通过SHOW PROCESSLIST找到指定的语句,反之pt-kill从包含SHOW PROCESSLIST结果的文件中读取mysql语句

    l  使用示例:

    范例1:查找192.168.3.135服务器运行时间超过60s的语句,并打印

    pt-kill --busy-time 60 --print --host=192.168.3.135 --user=root --password=zhang@123

    范例2:查找192.168.3.135服务器运行时间超过60s的语句,并kill

    pt-kill --busy-time 60 --kill --host=192.168.3.135 --user=root --password=zhang@123

    范例3:从proccesslist文件中查找执行时间超过60s的语句

    mysql -uroot -pzhang@123 -h192.168.3.135 -e "show processlist" > processlist.txt

    pt-kill --test-matching processlist.txt --busy-time 60 --print 


  • 相关阅读:
    K-Multiple Free set UVA-11246 (容斥原理)
    RAID! UVA-509 (奇偶校验)
    龙芯 fedora28 安装指南
    Kdenlive简明教程-简单的操作
    Kdenlive简明教程-开始
    Irrelevant Elements UVA-1635 (二项式定理)
    指针的指针笔记
    scanf 函数笔记
    printf 函数笔记
    龙芯 3A4000 Fedora28 安装笔记
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7169830.html
Copyright © 2011-2022 走看看