解決Mysql鎖表程序Bash指令碼

2021-08-31 08:54:29 字數 720 閱讀 6968

資料庫偶爾會響應很慢,看著好像掛掉了,檢查程序發現有大量查詢語句把錶鎖住了,提供乙個指令碼給大家解決鎖表導致的mysql異常。

#!/bin/sh

while :

don=`/usr/local/webserver/mysql/bin/mysql -uroot -p"kk41-,dnkkedkd8>/ee" -e 'show processlist;' | grep -i locked |grep -i search_keyword | wc -l`

date=`date +%y%m%d[%h:%m:%s]`

echo $n

if [ "$n" -gt 50 ]

then

for i in `/usr/local/webserver/mysql/bin/mysql -uroot -p"kk41-,dnkkedkd8>/ee" processlist | grep -i locked |grep -i search_keyword | awk ''`

do/usr/local/webserver/mysql/bin/mysql -uroot -p"kk41-,dnkkedkd8>/ee" kill $i

done

echo "killed it" >> /tmp/sleep.log

echo "$date : $n" >> /tmp/sleep.log

fisleep 10

done

以上**:

mysql檢視鎖表程序

mysql 檢視被鎖住的表 查詢是否鎖表 show open tables where in use 0 檢視所有程序 mysql show processlist mariabd show full processlist 查詢到相對應的程序 然後 kill id 殺掉指定mysql連線的程序號 ...

MySQL解決鎖表問題

1.為何會鎖表 首先我們了解一下資料庫查詢機制,首先我們用工具進行連線查詢時,會建立乙個connection,此時資料庫會將查詢語句解析成一棵 樹 各個引擎底層的結構不一樣,mysql的話在innodb用的是b tree,俗稱b 樹,那麼再到執行器進行處理,最後返回給客戶端。鎖表的原因 當多個連線 ...

mysql 表鎖 mysql鎖表解決方案

1.為何會鎖表 首先我們了解一下資料庫查詢機制,首先我們用工具進行連線查詢時,會建立乙個connection,此時資料庫會將查詢語句解析成一棵 樹 各個引擎底層的結構不一樣,mysql的話在innodb用的是b tree,俗稱b 樹,那麼再到執行器進行處理,最後返回給客戶端。鎖表的原因 當多個連線 ...