Last active
April 15, 2023 11:30
-
-
Save HarshadRanganathan/da38aaaceea5c556c25383e17393ecf2 to your computer and use it in GitHub Desktop.
MySQL Scripts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Get currently running transactions */ | |
select * from information_schema.innodb_trx | |
/* Get currently running transactions where tables in use */ | |
select * from information_schema.innodb_trx where trx_tables_in_use = 1 | |
/* show locked tables */ | |
show open tables where in_use > 0 ; | |
SHOW ENGINE INNODB STATUS; | |
/* indicates the operations currently being performed by the set of threads */ | |
show full processlist | |
/* indicates the operations that are executing a query */ | |
select * from information_schema.processlist where COMMAND = 'Query'; | |
/* show long running transactions */ | |
SELECT ps.id as processlist_id, | |
trx_started, trx_isolation_level, | |
esh.EVENT_ID, | |
esh.TIMER_WAIT, | |
esh.event_name as EVENT_NAME, | |
esh.sql_text as 'SQL', | |
esh.RETURNED_SQLSTATE, | |
esh.MYSQL_ERRNO, | |
esh.MESSAGE_TEXT, | |
esh.ERRORS, | |
esh.WARNINGS | |
FROM information_schema.innodb_trx trx | |
JOIN information_schema.processlist ps ON trx.trx_mysql_thread_id = ps.id | |
LEFT JOIN performance_schema.threads th ON th.processlist_id = trx.trx_mysql_thread_id | |
LEFT JOIN performance_schema.events_statements_history esh ON esh.thread_id = th.thread_id | |
WHERE trx.trx_started < CURRENT_TIME - INTERVAL 300 SECOND | |
AND ps.USER != 'SYSTEM_USER' | |
/* show long running transactions which are insert statements and have locked the tables */ | |
SELECT ps.id as processlist_id, | |
trx_started, trx_isolation_level, | |
esh.EVENT_ID, | |
esh.TIMER_WAIT, | |
esh.event_name as EVENT_NAME, | |
esh.sql_text as 'SQL', | |
esh.RETURNED_SQLSTATE, | |
esh.MYSQL_ERRNO, | |
esh.MESSAGE_TEXT, | |
esh.ERRORS, | |
esh.WARNINGS | |
FROM information_schema.innodb_trx trx | |
JOIN information_schema.processlist ps ON trx.trx_mysql_thread_id = ps.id | |
LEFT JOIN performance_schema.threads th ON th.processlist_id = trx.trx_mysql_thread_id | |
LEFT JOIN performance_schema.events_statements_history esh ON esh.thread_id = th.thread_id | |
WHERE trx.trx_started < CURRENT_TIME - INTERVAL 300 SECOND | |
AND trx.trx_tables_in_use = 1 | |
AND esh.event_name = 'statement/sql/insert' | |
AND ps.USER != 'SYSTEM_USER' | |
/* Generate kill commands for process ids */ | |
SELECT distinct(concat('KILL ', ps.id, ';')) | |
FROM information_schema.innodb_trx trx | |
JOIN information_schema.processlist ps ON trx.trx_mysql_thread_id = ps.id | |
LEFT JOIN performance_schema.threads th ON th.processlist_id = trx.trx_mysql_thread_id | |
LEFT JOIN performance_schema.events_statements_history esh ON esh.thread_id = th.thread_id | |
WHERE trx.trx_started < CURRENT_TIME - INTERVAL 300 SECOND | |
AND trx.trx_tables_in_use = 1 | |
AND esh.event_name = 'statement/sql/insert' | |
AND ps.USER != 'SYSTEM_USER' | |
SELECT a.trx_id, a.trx_state, a.trx_started, | |
TIMESTAMPDIFF(SECOND,a.trx_started, now()) as "Seconds Transaction Has Been Open", | |
a.trx_rows_modified, b.USER, b.host, b.db, b.command, b.time, b.state | |
from information_schema.innodb_trx a, information_schema.processlist b | |
where a.trx_mysql_thread_id=b.id | |
order by trx_started; | |
/* show global status values for innodb engine */ | |
SHOW GLOBAL STATUS LIKE 'innodb_%'; | |
/* show aurora replica lag */ | |
SELECT server_id, IF(session_id = 'master_session_id', 'writer', 'reader') AS ROLE, replica_lag_in_msec, | |
oldest_read_view_trx_id , oldest_read_view_lsn | |
from mysql.ro_replica_status; | |
/* check if event statement is enabled */ | |
select * from performance_schema.setup_consumers where name like 'events%statement%'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment