Lock wait timeout exceeded; try restarting transaction

問題原由:mysql

mysql死鎖,等待資源,事務鎖sql

解決辦法以下:
SHOW PROCESSLIST顯示哪些線程正在運行
若是你有PROCESS權限,你能夠查看全部的線程。不然,你只能查看你本身當前帳戶的線程。若是你沒有使用FULL關鍵字,你只能查看每一個記錄中Info字段裏面的前100個字符。數據庫

 

 

參數
id       #ID標識,要kill一個語句的時候頗有用
use      #當前鏈接用戶
host     #顯示這個鏈接從哪一個ip的哪一個端口上發出
db       #數據庫名
command  #鏈接狀態,通常是休眠(sleep),查詢(query),鏈接(connect)
time     #鏈接持續時間,單位是秒
state    #顯示當前sql語句的狀態
info     #顯示這個sql語句線程


若是某個線程有問題,能夠執行kill指令:
kill指令支持兩個可選參數,CONNECTION以及QUERY。
connection選項,kill的時候,將鏈接也斷掉,而query選項,kill的過程只是將該指令殺掉,鏈接還保持。 kill指令不指定connection或者query選項時,默認是connection。blog