錯誤訊息:
ERROR 1129 (HY000): Host 'host_name' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'
max_connect_errors = 100 (5.6 之前為 10)。達標後該 IP 被加入封鎖列表,後續連線直接拒絕。host_cache,**重啟 MySQL 或執行 FLUSH HOSTS 即清空**。# 命令列
mysqladmin -u root -p flush-hosts
# SQL
FLUSH HOSTS;
| 常見原因 | 排查指令/日誌 | 解決方向 |
|---|---|---|
| 應用連線池洩漏/未正確關閉 | 應用日誌、SHOW PROCESSLIST 大量 Sleep | 修復連線池配置、啟用 validate_connection |
| 網路不穩/防火牆間歇性丟包 | ping -c 100、mtr、tcpdump | 網路層面修復、調整 TCP keepalive |
| 客戶端版本不匹配 (SSL/認證協議) | 錯誤日誌 SSL connection error | 統一驅動版本、配置 tls_version |
| 惡意掃描/暴力破解 | SELECT * FROM performance_schema.host_cache 看 ERROR_COUNT | 防火牆封禁、fail2ban、修改預設埠 |
| max_allowed_packet 過小導致大封包斷開 | 錯誤日誌 Packet too large | 調大 max_allowed_packet (如 64M) |