MYSQL如何查看进程和kill进程
目录
- 如何查看进程和kill进程
- 第一种
- 第二种
- kill所有慢查询进程和锁表进程
- 1、kill所有慢查询进程
- 2、kill所有死锁进程
如何查看进程和kill进程
有时候我们在执行一条SQL语句时,或者更改表结构时,由于这张表的数据量巨大,往往会在执行操作后就会卡住…然后这张表就会被锁住..这时,我们可以杀掉这个进程.
这里有两种方法查看和杀掉进程
第一种
SHOW PROCESSLIST;
执行上述命令,可以看到下图:
然后找到对应的ID:
KILL 41515;
就OK了.
第二种
需要借助工具,Navicat. 工具->服务器监控->MySQL
打开之后就可以看到下图:
然后还是找到对应的ID :
KILL 42736;
kill所有慢查询进程和锁表进程
1、kill所有慢查询进程
#!/bin/bash mysql -uroot -pMy_Password -e "show processlist" | grep -i "Query" > slow_query.log for query in `cat slow_query.log | awk '{print $1}'` do echo "kill $query;" > kill_slow_query.sql done
登录mysql,执行:
mysql> source kill_slow_query.sql
或者:
#!/bin/bash for query in `mysqladmin -uroot -pMy_Password processlist | grep -i 'Query' | awk '{print $2}'` do mysqladmin kill ${query} done
2、kill所有死锁进程
#!/bin/bash mysql -uroot -pMy_Password -e "show processlist" | grep -i "Locked" > locked.log for lock in `cat locked.log | awk '{print $1}'` do echo "kill $lock;" > kill_locked.sql done
登录mysql,执行:
mysql> source kill_locked.sql
或者:
#!/bin/bash for lock in `mysqladmin -uroot -pMy_Password processlist | grep -i 'Locked' | awk '{print $2}'` do mysqladmin kill ${lock} done
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)
在使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映.这个时候,就需要kill掉某个正在消耗资源的query语句即可, KILL命令的语法格式如下: KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程. KILL允许自选的CONNECTION或QUERY修改符:KILL CONNECTION与不
-
mysql show processlist 显示mysql查询进程
1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程). 得到数据形式如下(只截取了三条): mysql> show processlist; +-----+-------------+--------------------+-------+---------+-------+----
-
MySQL kill不掉线程的原因
背景 在日常的使用过程中,时不时会遇到个别,或者大量的连接堆积在 MySQL 中的现象,这时一般会考虑使用 kill 命令强制杀死这些长时间堆积起来的连接,尽快释放连接数和数据库服务器的 CPU 资源. 问题描述 在实际操作 kill 命令的时候,有时候会发现连接并没有第一时间被 kill 掉,仍旧在 processlist 里面能看到,但是显示的 Command 为 Killed,而不是常见的 Query 或者是 Execute 等.例如: mysql> show processlist; +
-
MYSQL如何查看进程和kill进程
目录 如何查看进程和kill进程 第一种 第二种 kill所有慢查询进程和锁表进程 1.kill所有慢查询进程 2.kill所有死锁进程 如何查看进程和kill进程 有时候我们在执行一条SQL语句时,或者更改表结构时,由于这张表的数据量巨大,往往会在执行操作后就会卡住…然后这张表就会被锁住..这时,我们可以杀掉这个进程. 这里有两种方法查看和杀掉进程 第一种 SHOW PROCESSLIST; 执行上述命令,可以看到下图: 然后找到对应的ID: KILL 41515; 就OK了. 第二种 需要借
-
Linux查看端口、进程情况及kill进程的方法
看端口: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat –apn 查看所有的进程和端口使用情况.发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进程占用. 进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看 就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉! 方法二:直接使用 n
-
SqlServer查询和Kill进程死锁的语句
查询死锁进程语句 select request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT' 杀死死锁进程语句 kill spid 下面再给大家分享一段关于sqlserver检测死锁;杀死锁和进程;查看锁信息 --检测死锁 --如果发生死锁了,我们怎么去检测具体发生死锁的是哪条SQL语句或存储过程?
-
Tomcat 发布程序使用cmd查看端口占用、相应进程、杀死进程等的命令
如何查看程序占用的端口 一. 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序 当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令 netstat –ano|findstr "指定端口号" 二.查看占用指定端口的程序 当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令 netstat –ano|f
-
查看端口并杀进程python脚本代码
我就废话不多说,直接上代码吧: # -*- coding: utf-8 -*- import os out=os.system('netstat -aon|findstr "25"')#25端口号 print(out)#输出进程 out=os.system('tasklist|findstr "3316"')#3316进是程 print(out)#输出程序名字 out=os.system('taskkill /f /t /im MESMTPC.exe')#MESMT
-
MySQL 如何连接对应的客户端进程
问题 对于一个给定的 MySQL 连接,我们如何才能知道它来自于哪个客户端的哪个进程呢? HandshakeResponse MySQL-Client 在连接 MySQL-Server 的时候,不只会把用户名密码发送到服务端,还会把当前进程id,操作系统名,主机名等等信息也发到服务端.这个数据包就叫 HandshakeResponse 官方有对其格式进行详细的说明. 我自己改了一个连接驱动,用这个驱动可以看到连接时发送了哪些信息. 2020-05-19 15:31:04,976 - mysql-
-
Shell脚本实现监控swap空间使用情况和查看占用swap的进程
复制代码 代码如下: #!/bin/bash echo -e `date +%y%m%d%H%M` echo -e "PID\t\tSwap\t\tProc_Name" # 拿出/proc目录下所有以数字为名的目录(进程名是数字才是进程,其他如sys,net等存放的是其他信息) for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]` do # 让进程释放swap的方法只有一个:就是重
-
用VBS实现脚本结束进程与防止进程启动
今天下午没课,躲进私人空间开始思考些问题.在浏览VBS相关案例时,自己写了两个小程序出来,有Hack性质的(其实只要能"借刀杀人",什么软件没黑客性质?- -!).Kill.vbs用来在cmd下结束进程,Dis.vbs用来在窗口模式下防止某进程再次启动.这两个VBS都不会被杀毒软件KILL掉,并且有一定的隐蔽性--看代码!('为注释) Kill.vbs: 复制代码 代码如下: for each ps in getobject _ ("winmgmts:\\.\root\c
-
什么是PHP7中的孤儿进程与僵尸进程
基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程.子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态. 孤儿进程 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作. 僵尸进程 一
-
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
本文实例讲述了Python 进程操作之进程间通过队列共享数据,队列Queue.分享给大家供大家参考,具体如下: 队列中的数据是放在内存中的,可以通过分布式缓存redis优化队列. demo.py(进程通过队列共享数据): import multiprocessing def download_from_web(q): """下载数据""" # 模拟从网上下载的数据 data = [11, 22, 33, 44] # 向队列中写入数据 for te
随机推荐
- 原来CSS里的 !important 是如此用法
- Lua中遍历数组和table的4种方法
- VBS教程:函数-Weekday 函数
- Java线程安全的计数器简单实现代码示例
- 用iOS代码获取APP启动页图片
- JavaScript实现页面滚动图片加载(仿lazyload效果)
- js创建一个input数组并绑定click事件的方法
- 使用JavaScript 实现的人脸检测
- JavaScript实现将文本框的值插入指定位置的方法
- python中如何使用朴素贝叶斯算法
- JavaScript实现班级随机点名小应用需求的具体分析
- 运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
- MYSQL administrator 使用
- mssql 指定字段编号sql语句
- boostrapTable的refresh和refreshOptions区别浅析
- bootstrap实现弹窗和拖动效果
- picChange 图片切换特效的函数代码
- Win 2003如何转换成PC版系统
- Java Web用户登录实例代码
- 详解使用Java原生代理实现AOP实例