Skip to content

Instantly share code, notes, and snippets.

@arliber
Last active December 1, 2020 13:12
Show Gist options
  • Select an option

  • Save arliber/8cc701b8667dcfd5ecdc20cd0004d01c to your computer and use it in GitHub Desktop.

Select an option

Save arliber/8cc701b8667dcfd5ecdc20cd0004d01c to your computer and use it in GitHub Desktop.

Revisions

  1. arliber revised this gist Dec 1, 2020. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions debug.sql
    Original file line number Diff line number Diff line change
    @@ -17,3 +17,6 @@ JOIN INNODB_LOCK_WAITS
    SELECT TRX_ID, TRX_REQUESTED_LOCK_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY
    FROM INNODB_TRX
    WHERE TRX_STATE = 'LOCK WAIT';

    # Kill a process in RDS
    CALL mysql.rds_kill(<process id>)
  2. arliber created this gist Nov 24, 2020.
    19 changes: 19 additions & 0 deletions debug.sql
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    # Run this first
    USE INFORMATION_SCHEMA;

    # Check the transactions section in:
    SHOW ENGINE INNODB STATUS;

    # To check about all the locks transactions are waiting for:
    SELECT * FROM INNODB_LOCK_WAITS;

    # A list of blocking transactions:
    SELECT INNODB_LOCKS.*
    FROM INNODB_LOCKS
    JOIN INNODB_LOCK_WAITS
    ON (INNODB_LOCKS.LOCK_TRX_ID = INNODB_LOCK_WAITS.BLOCKING_TRX_ID);

    # A list of transactions waiting for locks:
    SELECT TRX_ID, TRX_REQUESTED_LOCK_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY
    FROM INNODB_TRX
    WHERE TRX_STATE = 'LOCK WAIT';