SHOW ENGINE INNODB STATUS \G
Find the section -
TRANSACTIONS
We can use tables INFORMATION_SCHEMA .
Useful Requests -
To check, all lock transactions are waiting -
USE INFORMATION_SCHEMA SELECT * FROM INNODB_LOCK_WAITS;
Blocking Transaction List
SELECT * FROM INNODB_LOCKS WHERE LOCK_TRX_ID IN (SELECT BLOCKING_TRX_ID FROM INNODB_LOCK_WAITS);
OR
SELECT INNODB_LOCKS.* FROM INNODB_LOCKS JOIN INNODB_LOCK_WAITS ON (INNODB_LOCKS.LOCK_TRX_ID = INNODB_LOCK_WAITS.BLOCKING_TRX_ID);
The list of locks on the percussion table:
SELECT * FROM INNODB_LOCKS WHERE LOCK_TABLE = db_name.table_name;
List of pending transactions:
SELECT TRX_ID, TRX_REQUESTED_LOCK_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY FROM INNODB_TRX WHERE TRX_STATE = 'LOCK WAIT';
Link - MySQL troubleshooting: what to do when queries don't work , chapter 6 - page 96.
Joddy Oct 31 '12 at 10:24 2012-10-31 10:24
source share