批量 kill mysql 中运行时间长的sql

yizhihongxing

下面是“批量 kill mysql 中运行时间长的sql”的完整攻略:

1. 确认需要 kill 的 SQL 语句

可以通过执行以下命令查看当前 MySQL 实例中运行时间超过5秒的 SQL 语句:

SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO 
FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE COMMAND != 'Sleep' AND TIME > 5 
ORDER BY TIME DESC;

这里需要注意的是,如果查询到的 SQL 语句当前正在执行,那么不建议直接 kill,可以通过优化这些 SQL 语句或者等待执行完成来解决。

2. 批量 kill SQL 语句

在确认需要 kill 的 SQL 语句后,可以通过以下命令来批量 kill:

SELECT CONCAT('KILL ',ID,';') INTO @killquery 
FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE USER = 'username' AND COMMAND != 'Sleep' AND TIME > 10;
PREPARE stmt FROM @killquery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

其中,username 为需要 kill 的用户名称,TIME 为运行时间超过的时长(单位为秒),这里设定的是10秒。

以上命令会生成一些由 KILL+进程 ID 组成的 SQL 语句,并将它们拼接成一条语句,然后通过 PREPAREEXECUTEDEALLOCATE 三个命令执行。执行成功后即可 kill 掉这些长时间运行的 SQL 语句。

以下是两个示例:

  • 示例1:kill 用户 “user1” 中运行时间超过 5 秒的 SQL 语句
SELECT CONCAT('KILL ',ID,';') INTO @killquery 
FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE USER = 'user1' AND COMMAND != 'Sleep' AND TIME > 5;
PREPARE stmt FROM @killquery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
  • 示例2:kill 用户 “user2” 中运行时间超过 20 秒的 SQL 语句
SELECT CONCAT('KILL ',ID,';') INTO @killquery 
FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE USER = 'user2' AND COMMAND != 'Sleep' AND TIME > 20;
PREPARE stmt FROM @killquery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

以上就是“批量 kill mysql 中运行时间长的SQL”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:批量 kill mysql 中运行时间长的sql - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • vue项目部署上线遇到的问题及解决方法

    下面我来为你详细讲解“Vue 项目部署上线遇到的问题及解决方法”的完整攻略。 1. 准备工作 在开始部署之前,请确保你已经完成以下准备工作: Vue 项目完成打包,生成 production 环境代码 购买一台 VPS 或云服务器 拥有一个域名,并且已经将域名解析到服务器 IP 地址 2. 部署流程 2.1 安装 nginx Nginx 是一款高性能的 We…

    database 2023年5月22日
    00
  • mysql数据库修改数据表引擎的方法

    下面是详细的mysql数据库修改数据表引擎的方法攻略。 1. 查看数据表引擎 使用SHOW CREATE TABLE语句可以查看表的创建语句,其中会显示该表当前的引擎类型。 示例如下: SHOW CREATE TABLE `table_name`; table_name表示要查看的表的名称。 2. 修改数据表引擎 要修改一个表的引擎类型,可以使用ALTER …

    database 2023年5月19日
    00
  • 数据库有哪些种类?

    常见的数据库种类有以下几种: 关系型数据库(RDBMS) 非关系型数据库(NoSQL) 图形数据库 文档数据库 列式数据库 接下来我们详细讲解这几种数据库的优缺点以及应用场景。 关系型数据库(RDBMS) 优点: 通用性强,支持 SQL 查询语句 事务处理功能强,支持 ACID 事务模型 数据结构清晰明了,易于理解和维护 可以使用多种方式进行数据的备份和恢复…

    数据库 2023年3月8日
    00
  • 透明数据加密(TDE)库的备份和还原

    我为您提供一份透明数据加密(TDE)库备份和还原的攻略。 TDE备份 1.使用T-SQL来备份TDE库 使用T-SQL来备份TDE库的步骤如下: 步骤1:打开SQL Server Management Studio 找到您要备份的TDE库所在的SQL Server实例,打开SQL Server Management Studio。 步骤2:运行备份命令 运行…

    database 2023年5月21日
    00
  • node.js对于数据库MySQL基本操作实例总结【增删改查】

    下面是 “node.js对于数据库MySQL基本操作实例总结【增删改查】” 的完整攻略。 一、前置知识 在学习本文之前,需要掌握以下知识点: Node.js 基础知识 MySQL数据库基础知识 Node.js连接MySQL的方法 二、环境搭建 在 node.js 项目中使用 MySQL,需要使用到 node.js 驱动程序。本文中我们使用 mysql 驱动,…

    database 2023年5月21日
    00
  • mysql数据库优化总结(心得)

    MySQL数据库优化总结(心得) 为什么要进行数据库优化 数据库是网站应用的核心,因此,数据库优化是网站优化中最重要的一环。数据库优化可以大大提高网站的响应速度,增强网站的稳定性和安全性,提高网站的用户体验,进而促进网站发展。 MySQL数据库优化的几个方面 1. 维护数据库结构 优化表结构:根据业务需要,尽量减少表中的字段数量和字段长度,避免使用BLOB、…

    database 2023年5月19日
    00
  • redis hash 应用场景

    hmset user 1:name zhuge 1:balance 1888 hmget user 1:name 1:balance  

    Redis 2023年4月12日
    00
  • SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

    下面是针对“SQL Server附加数据库报错无法打开物理文件,操作系统错误5”的完整解决教程。 1.问题描述 当我们在SQL Server中附加一个数据库时,可能会遇到如下错误提示:“无法打开物理文件 XXX.mdf。操作系统错误 5(Access is Denied)。”。 2.问题原因 这个错误通常是由于以下原因造成的: SQL Server服务没有足…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部