十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1.修改表结构时用:pt_online-schema-change
2.percona-toolkit 工具集
wget https://percona.com/downloads/percona-toolkit/2.2.16/tarball/percona-toolkit-2.2.16.tar.gz
tar zxvf percona-toolkit-2.2.16.tar.gz
wget https://www.percona.com/downloads/percona-toolkit/3.0.10/binary/tarball/percona-toolkit-3.0.10_x86_64.tar.gz
yum install perl-DBD-MySQL
yum install perl-ExtUtils-Embed -y
yum install perl-Digest-MD5
yum install perl-devel
perl Makefile.PL
make
make install
安装后工具目录: /usr/local/bin
a.pt-kill
--victims all需要有,否则只会处理一个连接(最早连上数据库的那个),
--interval 30 默认每30秒循环执行一次,可以根据实际情况调整,如果不加,只执行一次;加上的话,会在后台不停的执行。
默认会过滤掉复制线程,请不必担心杀掉复制线程。
--run-time,如果指定此项,则执行指定长的时候,否则以循环时间每多次时间执行一次。
--help可以查看帮助信息,除了--busy-time与--idle-time是否定的关系,只能选择一个;其余各个选项是并的关系,是A且B的关系,--ignore选项与--match信息可以一起使用。
使用的重点即是--ignore 与 --match的灵活结合
下面是help内容的部分信息,可以用来限制杀掉连接的条件。
--database (No value)
--defaults-file (No value)
--each-busy-time (No value)
--execute-command (No value)
--filter (No value)
--group-by (No value)
--help TRUE
--host localhost
--idle-time (No value)
--ignore-command (No value)
--ignore-db (No value)
--ignore-host (No value)
--ignore-info (No value)
--ignore-self TRUE
--ignore-state Locked
--ignore-user (No value)
--interval 30
--kill FALSE
--kill-query FALSE
--log (No value)
--log-dsn (No value)
--match-all FALSE
--match-command (No value)
--match-db (No value)
--match-host (No value)
--match-info (No value)
--match-state (No value)
--match-user (No value)
-- 每10秒杀掉所有sleep超过200秒的连接,并打印
/usr/local/bin/pt-kill --idle-time 200 --victims all --interval 10 -S
/var/lib/mysql/mysql.sock -uroot -p111111 --kill --print
-- 每10秒杀掉主机为127.0.0.1 所有sleep超过200秒的连接,并打印
/usr/local/bin/pt-kill --match-host='127.0.0.1' --idle-time 200 --victims all --interval 10 -S
/var/lib/mysql/mysql.sock -uroot -p123456 --kill --print
-- 每10秒杀掉连接dbhospital 所有sleep超过200秒的连接,并打印
/usr/local/bin/pt-kill --match-db='hospital' --idle-time 200 --victims all --interval 10 -S
/var/lib/mysql/mysql.sock -uroot -p123456 --kill --print
-- 每10秒杀掉执行时间超过特定时间、特定sql(5秒)的连接
/usr/local/bin/pt-kill --busy-time=1 --match-info='SELECT|select|Select' --victims all --interval 10 -S
/var/lib/mysql/mysql.sock -uroot -p123456 --kill --print
杀死pt-kill 进程
kill -9 $(ps -ef| grep pt-kill |grep -v grep |awk '{print $2}')
2.pt-align 对齐工具
使用 pt-align filename
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。