資料庫偶爾會響應很慢,看著好像掛掉了,檢查程序發現有大量查詢語句把錶鎖住了,提供乙個指令碼給大家解決鎖表導致的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 樹,那麼再到執行器進行處理,最後返回給客戶端。鎖表的原因 當多個連線 ...