把定时任务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;
杀掉死锁的事务线程重新启动项目。