MYSQL如何查看進程和kill進程
如何查看進程和kill進程
有時候我們在執(zhí)行一條SQL語句時,或者更改表結(jié)構(gòu)時,由于這張表的數(shù)據(jù)量巨大,往往會在執(zhí)行操作后就會卡住…然后這張表就會被鎖住..這時,我們可以殺掉這個進程.
這里有兩種方法查看和殺掉進程
第一種
SHOW PROCESSLIST;
執(zhí)行上述命令,可以看到下圖:

然后找到對應(yīng)的ID:
KILL 41515;
就OK了.
第二種
需要借助工具,Navicat. 工具->服務(wù)器監(jiān)控->MySQL

打開之后就可以看到下圖:

然后還是找到對應(yīng)的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,執(zhí)行:
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}
done2、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,執(zhí)行:
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以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何使用myisamchk和mysqlcheck工具快速修復(fù)損壞的MySQL數(shù)據(jù)庫文件
有時候數(shù)據(jù)庫突然就壞了很郁悶,用mysqlcheck.exe可以修復(fù)受損數(shù)據(jù)庫2020-01-01
淺析MySQL內(nèi)存的使用說明(全局緩存+線程緩存)
本篇文章是對MySQL內(nèi)存的使用說明(全局緩存+線程緩存)進行了詳細的分析介紹,需要的朋友參考下2013-06-06
MySQL將查詢結(jié)果用英文逗號,連接的實現(xiàn)方式
這篇文章主要介紹了MySQL將查詢結(jié)果用英文逗號,連接的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
數(shù)據(jù)庫報錯:Unknown column 'xxx' in
但凡寫過sql語句的人估計都曾經(jīng)碰到過類似于Unknown column ‘xxx’ in ‘where clause’的問題,這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫報錯:Unknown column 'xxx' in 'where clause'問題的解決過程,需要的朋友可以參考下2023-03-03
MySQL拼接字符串函數(shù)GROUP_CONCAT詳解
本文給大家詳細講解了MySQL的拼接字符串函數(shù)GROUP_CONCAT的幾種使用方法以及詳細示例,有需要的小伙伴可以參考下2020-02-02

