mysql鎖表解決方案
阿新 • • 發佈:2021-01-28
技術標籤: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