percona-toolkit系列之实用类工具使用
2012-06-06 10:08
337 查看
[align=center]percona-toolkit使用教程之实用类工具
[/align]
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_log表id小于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表并执行指定的命令,和gnu的find命令类似。
l 用法介绍:
pt-find
[OPTION...] [DATABASE...]
默认动作是打印数据库名和表名
l 使用示例:
范例1:查找192.168.3.135中1天以前创建的InnoDB的表 ,并打印。
pt-find
--ctime +1 --host=192.168.3.135 --engine
InnoDB --user=root --password=zhang@123
范例2:查找192.168.3.135中1天以前更改过的数据库名字匹配%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.135中aaa库和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
[align=left]
[/align]
[/align]
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_log表id小于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表并执行指定的命令,和gnu的find命令类似。
l 用法介绍:
pt-find
[OPTION...] [DATABASE...]
默认动作是打印数据库名和表名
l 使用示例:
范例1:查找192.168.3.135中1天以前创建的InnoDB的表 ,并打印。
pt-find
--ctime +1 --host=192.168.3.135 --engine
InnoDB --user=root --password=zhang@123
范例2:查找192.168.3.135中1天以前更改过的数据库名字匹配%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.135中aaa库和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
[align=left]
[/align]
相关文章推荐
- percona-toolkit系列之复制类工具使用
- percona-toolkit系列之系统类工具的使用
- percona-toolkit 工具使用系列
- percona-toolkit系列之监控类工具使用
- percona-toolkit系列之介绍和安装(mysql复制工具)
- [MySQL 工具]percona-toolkit使用(1)源码安装
- percona-toolkit工具包的使用教程之性能类工具
- percona-toolkit工具包的使用教程之配置类工具
- percona-toolkit 工具的安装与使用
- percona-toolkit工具集pt-kill使用举例
- percona-toolkit使用教程之复制类工具
- PERCONA-TOOLKIT 工具的安装与使用1
- PERCONA-TOOLKIT 工具的安装与使用
- pt-query-digest查询日志分析工具 - percona-toolkit使用教程之系统类工具
- percona-toolkit工具的使用
- mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
- percona-toolkit系列之性能类工具
- percona-toolkit系列之配置类工具
- mysql管理工具percona-toolkit-3简单使用介绍
- mysql管理工具percona-toolkit-3简单使用介绍