把定時任務quartz配置mysql裏多臺機器啓動時可能會出現數據庫死鎖,然後控制檯報錯:
Lock wait timeout exceeded;try restarting transaction
項目啓動失敗,這時候只需要去mysql中查兩個語句,然後殺掉對應的死鎖線程就行:
1.查詢mysql所有正在執行的sql,看到query就說明是正在執行的,有時候慢查詢導致程序卡住無響應也可以這麼查殺
show processlist;
kill id;
2.查看mysql事物表INNODB_TRX,在information_schema庫中
SELECT * FROM information_schema.innodb_trx ;
kill trx_mysql_thread_id;
殺掉死鎖的事務線程重新啓動項目。