1. 程式人生 > 其它 >mysql鎖表解決方案

mysql鎖表解決方案

技術標籤:mysql各類技術問題解決辦法javamysqlsql

問題描述

今天開發時,發現系統中所有涉及到有張表的查詢功能,怎麼也查詢不出結果,同時無法修改該表,初步懷疑是系統中有個功能把這張表給鎖死了。

解決步驟:

步驟一、 查詢鎖,判斷對應的表是否被鎖

select * from information_schema.innodb_locks

步驟二、如果沒有沒有鎖的話,就查詢事務

select * from information_schema.innodb_trx

查詢來的結果如圖所示:

欄位解釋:

trx_query 當前事務正在執行的語句
trx_mysql_thread_id 事務執行緒id


trx_rows_locked 行鎖
trx_tables_locked 表鎖
trx_lock_memory_bytes 記憶體鎖

步驟三、找到處於RUNNING狀態時間很長的那張表對應的事務執行緒ID,把它kill調,trx_mysql_thread_id 替換成實際的執行緒ID值

kill trx_mysql_thread_id