批量杀死MySQL连接的几种方法

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

 方法一

  通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令。

 
 

 
  1. mysql> select concat('KILL ',id,';') from information_schema.processlist where user='root';  
  2. +------------------------+  
  3. | concat('KILL ',id,';') |  
  4. +------------------------+  
  5. | KILL 3101;             |  
  6. | KILL 2946;             |  
  7. +------------------------+  
  8. 2 rows in set (0.00 sec)  
  9.  
  10. mysql>select concat('KILL ',id,';') from information_schema.processlist where user='root' into outfile '/tmp/a.txt';  
  11. Query OK, 2 rows affected (0.00 sec)  
  12.  
  13. mysql>source /tmp/a.txt;  
  14. Query OK, 0 rows affected (0.00 sec)   

  方法二

  杀掉当前所有的MySQL连接

 

 
  1. mysqladmin -uroot -p processlist|awk -F "|" '{print $2}'|xargs -n 1 mysqladmin -uroot -p 

杀掉指定用户运行的连接,这里为Mike

 

 
  1. mysqladmin -uroot -p processlist|awk -F "|" '{if($3 == "Mike")print $2}'|xargs -n 1 mysqladmin -uroot  

 方法三

  通过SHEL脚本实现

 

 
  1. #杀掉锁定的MySQL连接  
  2. for id in `mysqladmin processlist|grep -i locked|awk '{print $1}'`  
  3. do  
  4.    mysqladmin kill ${id}  
  5. done   

方法四

  通过Maatkit工具集中提供的mk-kill命令进行

 
  1. #杀掉超过60秒的sql  
  2. mk-kill -busy-time 60 -kill  
  3. #如果你想先不杀,先看看有哪些sql运行超过60秒  
  4. mk-kill -busy-time 60 -print  
  5. #如果你想杀掉,同时输出杀掉了哪些进程  
  6. mk-kill -busy-time 60 -print –kill   

mk-kill更多用法可参考:

  http://www.maatkit.org/doc/mk-kill.html
http://www.sbear.cn/archives/426

  Maatkit工具集的其它用法可参考:

  http://code.google.com/p/maatkit/wiki/TableOfContents?tm=6

  参考文档:

  http://www.google.com
http://www.orczhou.com/index.php/2010/10/kill-mysql-connectio-in-batch/
http://www.mysqlperformanceblog.com/2009/05/21/mass-killing-of-mysql-connections/

本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto.com/linuxgeek/998201


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
关系型数据库 MySQL 数据库连接
cas5.3 → 连接mysql数据库
cas5.3 → 连接mysql数据库
|
22天前
|
SQL 关系型数据库 MySQL
总结 vue3 的一些知识点:MySQL 连接的使用
总结 vue3 的一些知识点:MySQL 连接的使用
|
23天前
|
IDE 关系型数据库 MySQL
【Java+MySQL】前后端连接小白教程
【Java+MySQL】前后端连接小白教程
26 0
|
1月前
|
SQL 关系型数据库 MySQL
|
1天前
|
关系型数据库 MySQL 数据库
连接mysql报Access denied for user 'root'@'localhost'错误的解决办法
连接mysql报Access denied for user 'root'@'localhost'错误的解决办法
|
2天前
|
SQL 关系型数据库 MySQL
Python中的数据库操作:SQLite与MySQL的连接
Python中的数据库操作:SQLite与MySQL的连接
|
5天前
|
Java 关系型数据库 MySQL
docker 部署springboot项目,连接mysql容器
docker 部署springboot项目,连接mysql容器
14 0
|
19天前
|
存储 监控 关系型数据库
mysql 主备延迟的原因及解决思路,优化方法
MySQL 主备延迟(replication delay)是指主服务器(master)上的数据更新操作与备服务器(slave)上相同数据更新操作之间的时间差。这种延迟可能会导致数据不一致,影响系统的可用性和可靠性。以下是主备延迟的常见原因、解决思路和优化方法: ### 常见原因 1. **网络延迟**:主备服务器之间的网络不稳定或带宽不足。 2. **硬件性能**:备服务器的硬件性能不足,如 CPU、内存、磁盘 I/O 等。 3. **大量数据写入**:主服务器上的大量数据写入操作导致备服务器难以同步。 4. **复杂的查询**:备服务器执行复杂的查询操作,影响同步速度。 5. **二进制
|
22天前
|
资源调度 JavaScript 关系型数据库
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
24 0
|
22天前
|
关系型数据库 MySQL 数据库连接
SPSS连接mysql数据库详细操作教程
SPSS连接mysql数据库详细操作教程
14 0