mysql中kill掉所有鎖表的程序

2022-04-29 01:36:06 字數 1199 閱讀 7943

在資料量大或者查詢特別頻繁的時候,偶爾會出現查詢鎖表的情況,通過show processlist;可以看到存在有locked狀態,

現寫了個shell指令碼自動殺死鎖表程序,

**如下:

1 #!/bin/bash

23 mysql_cmd=mysql

4 host=192.168.1.1

5 user=root

6 password=root

7 port=3306

8 kill_process=$($mysql_cmd -h $host -u $user -p$password -p $port -e '

show processlist

' | grep -i "

locked

" | awk'"'

) print $1}');

910for process_id in

$kill_process

11do

12 #echo

$process_id

13 $mysql_cmd -h $host -u $user -p$password -p $port -e '

kill '"$

"14done

另外種更簡單的方式

1 (1

)將所有的mysql連線程序殺掉

2for i in ` mysql -uroot -pzhangyun -bse "

show processlist

" | grep -v "

show processlist

" | awk''

` 3do4 mysql -uroot -pzhangyun -e "

kill $i"5

done67

注:這裡將自身命令的show processlist程序過濾掉

89 (2

)刪除指定使用者的連線程序

10for i in `mysql -uroot -pzhangyun -se "

show processlist

" | grep -v "

show processlist

" | awk''

` 11

do12 mysql -uroot -pzhangyun -e "

kill $i"13

done

查詢鎖表及kill

檢視鎖表程序sql語句1 select sess.sid,sess.serial lo.oracle username,lo.os user name,ao.object name,lo.locked mode from v locked object lo,dba objects ao,v ses...

如何kill掉oracle中的session

有時,oracle中造成一些表被死鎖或者會話異常退出,如執行了更新記錄操作後,既沒有commit也沒有rollback,網路就斷開了,也會造表或記錄被鎖住,待到超時後才會被解開,那樣都會造成應用操作被阻塞。可以以oralce管理員許可權使用者登入oracle資料,查詢到被鎖的物件,然後殺除指定的會話...

批量kill掉linux中的程序

原文 ps ef grep php grep v grep awk xargs kill 9 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的 幾個命令 ps ef 是linux 裡檢視所有程序的命令。這時檢索出的程序將作為下一條命令 grep m...