MySQL如何使用pt-kill杀除大SQL
下载地址
https://www.percona.com/downloads/percona-toolkit/LATEST/
解压pt软件
# tar xfz percona-toolkit-3.0.2_x86_64.tar.gz
安装对应的perl依赖包
# yum install perl-DBI
# yum install perl-DBD-MySQL
# 执行一条大SQL
>select * from ls_evaluate;
# 打印出执行时间超过2秒的语句
# bin/pt-kill -uroot -pcnstrong#123454321 -S /data/mysql01/mysql.sock --busy-time 2 --print
# 2018-02-12T11:28:04 KILL 30192 (Query 41 sec) select * from ls_evaluate
# 2018-02-12T11:28:05 KILL 30192 (Query 42 sec) select * from ls_evaluate
# 2018-02-12T11:28:06 KILL 30192 (Query 43 sec) select * from ls_evaluate
# 杀掉执行时间超过2秒的语句
# bin/pt-kill -uroot -pcnstrong#123454321 -S /data/mysql01/mysql.sock --busy-time 2 --kill
# SQL会话被断开
>select * from ls_evaluate;
ERROR 2013 (HY000): Lost connection to MySQL server during query
# 每隔10秒杀除数据库中执行时间超过30秒的大查询
# bin/pt-kill -uroot -pcnstrong#123454321 -S /data/mysql01/mysql.sock --busy-time 30 --kill --interval 10