MySQL Database
Authentication
IMPORTANT: Credentials are injected automatically by a proxy layer. Do NOT check for MYSQL_PASSWORD in environment variables - it won't be visible to you. Just run the scripts directly; authentication is handled transparently.
Configuration environment variables you CAN check (non-secret):
-
MYSQL_HOST
-
Database host
-
MYSQL_PORT
-
Database port (default: 3306)
-
MYSQL_DATABASE
-
Database name
MANDATORY: Schema-First Investigation
Understand the schema before running queries.
LIST TABLES → DESCRIBE TABLE → EXECUTE QUERY → CHECK HEALTH
Available Scripts
All scripts are in .claude/skills/database-mysql/scripts/
list_tables.py - List Tables (START HERE)
python .claude/skills/database-mysql/scripts/list_tables.py [--database DB]
describe_table.py - Table Schema Details
python .claude/skills/database-mysql/scripts/describe_table.py --table TABLE_NAME [--database DB]
execute_query.py - Run SQL Queries
python .claude/skills/database-mysql/scripts/execute_query.py --query "SELECT * FROM users LIMIT 10" [--limit 100]
show_processlist.py - Active Connections
python .claude/skills/database-mysql/scripts/show_processlist.py [--full]
show_replica_status.py - Replication Health
python .claude/skills/database-mysql/scripts/show_replica_status.py
show_engine_status.py - InnoDB Engine Status
python .claude/skills/database-mysql/scripts/show_engine_status.py [--engine innodb]
get_table_locks.py - Lock Contention
python .claude/skills/database-mysql/scripts/get_table_locks.py
Investigation Workflow
Slow Query Investigation
- show_processlist.py --full (find active/long queries)
- show_engine_status.py (check InnoDB lock waits, deadlocks)
- get_table_locks.py (find lock contention)
Replication Lag
- show_replica_status.py (check Seconds_Behind_Master)
- show_processlist.py (check for blocking queries)