innodb_status
CRITICALWARNING (2 rules)
Rule IDs: sch_003, sch_004, sch_005
Overview
- Purpose
- Interpretation of InnoDB monitor / status output (deadlocks, history length, waits), not one numeric system variable.
- Dynamic (MySQL 8.4 reference)
- Resolve underlying workload, locking, or capacity issues per findings.
- Default value
- N/A
- Version and product notes
- N/A
- Documentation
- Primary reference depends on product (MySQL, MariaDB, Percona, or OS documentation).
What is checked
Rules that reference this variable, with their severity and what each rule detects:
- WARNING
sch_003: Enable innodb_print_all_deadlocks=ON and review error log. Optimize transaction ordering in application code. - WARNING
sch_004: Identify and resolve long-running transactions. Check SHOW PROCESSLIST for old queries. Consider increasing innodb_purge_threads. - CRITICAL
sch_005: Semaphore waits above 600s trigger an intentional MySQL crash. Investigate lock contention, reduce concurrency, or check for bugs.
Tuning guidance
- Recommended actions:
- Enable innodb_print_all_deadlocks=ON and review error log. Optimize transaction ordering in application code.
- Identify and resolve long-running transactions. Check SHOW PROCESSLIST for old queries. Consider increasing innodb_purge_threads.
- Semaphore waits above 600s trigger an intentional MySQL crash. Investigate lock contention, reduce concurrency, or check for bugs.
- Trade-offs: Schema issues (missing PKs, MyISAM tables) affect replication, backup, and InnoDB efficiency. Fixing schema requires application-level changes and testing, not just variable changes.
Example
SHOW ENGINE INNODB STATUS\G -- Check LATEST DEADLOCK, SEMAPHORES, and TRANSACTIONS sections