At Percona Managed Services, sometimes clients’
applications face deadlock situations and need all historic
deadlock information for application tuning.
We could get the LATEST DETECTED DEADLOCK from SHOW ENGINE INNODB
STATUS\G:
….
------------------------
LATEST DETECTED DEADLOCK
------------------------
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 163 page no 3 n bits 72 index GEN_CLUST_INDEX of table `deadlock_test`.`t` trx id 78507 lock_mode X waiting
*** (2) TRANSACTION:
TRANSACTION 78508, ACTIVE 155 sec starting index read
mysql tables in use 1, locked 1
….
But how could we view all past deadlock information?
We could enable innodb_print_all_deadlocks, and all
deadlocks in InnoDB user transactions will be recorded in the
MySQL error log.
Let‘s start the test.
Create the test database …
[Read more]