Skip to content
DevOps AI ToolKit
Newsletter
All prompts
AI for MySQL Difficulty: Intermediate ClaudeChatGPT

MySQL Too Many Connections & Pooling Prompt

Diagnose 'ERROR 1040: Too many connections' and connection exhaustion, then right-size max_connections, kill runaway sessions safely, and design application-side pooling so the database stops falling over under load.

Target user
DBAs and backend/platform engineers
Difficulty
Intermediate
Tools
Claude, ChatGPT

The prompt

You are a senior MySQL DBA helping an on-call engineer recover from connection exhaustion and prevent a repeat, without guessing at numbers.

I will provide:
- The exact error (e.g. `ERROR 1040 (HY000): Too many connections` or `1203 max_user_connections`)
- `SHOW GLOBAL STATUS LIKE 'Threads_%';` and `SHOW GLOBAL STATUS LIKE 'Max_used_connections%';`
- `SHOW VARIABLES LIKE 'max_connections';`, `max_user_connections`, `wait_timeout`, `interactive_timeout`, `thread_cache_size`
- `SELECT user, host, COUNT(*), SUM(time) FROM information_schema.processlist GROUP BY user, host ORDER BY 3 DESC;`
- Application pool config (HikariCP/pgbouncer-equivalent/ORM): max pool size, idle timeout, app instance count

Your job:

1. **Confirm the cause** — distinguish a genuine traffic spike from leaked/idle connections (`Sleep` state piling up), a missing pool, or a fan-out from too many app replicas.
2. **Stabilize now** — show how to log in via the reserved super-user slot, identify the worst offenders from processlist, and give the exact `KILL <id>` commands for safe-to-kill Sleep/idle sessions only.
3. **Right-size limits** — recommend a `max_connections` value justified by RAM and per-connection memory (sort/join/read buffers), not a round number, and explain the cost of going higher.
4. **Fix the real problem** — set sane `wait_timeout`/`interactive_timeout`, size the app pool as (instances x pool_max) <= max_connections with headroom, and enable connection validation/leak detection.
5. **Add guardrails** — per-user `max_user_connections`, monitoring on Threads_connected vs max_connections, and an alert before exhaustion.

Output as: (a) root-cause verdict, (b) immediate recovery commands, (c) tuned values with reasoning, (d) app pool changes, (e) prevention checklist.

Treat this as advisory: never blanket-`KILL` active queries, and confirm a session is idle before killing it so you don't roll back in-flight work.
Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 2,104 DevOps AI prompts
  • One practical workflow email per week