1.Lock wait說明出現了鎖問題
使用 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
查看當前事務,使用SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看當前鎖定的事務,使用SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
查看當前等鎖的事務。使用以上三個sql基本能定位到代碼所在位置。
http://www.mamicode.com/info-detail-2845763.html
2.解決方法
應急方法:show full processlist; kill掉出現問題的進程。 ps.有的時候通過processlist是看不出哪里有鎖等待的,當兩個事務都在commit階段是無法體現在processlist上 根治方法:select * from innodb_trx;查看有是哪些事務占據了表資源。 ps.通過這個辦法就需要對innodb有一些了解才好處理
https://ningyu1.github.io/site/post/75-mysql-lock-wait-timeout-exceeded/