首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 禁用 DNS 反向解析:--skip-name-resolve 解決 unauthenticated user 堆積

     編輯:MySQL 資料庫相關知識

現象


SHOW PROCESSLIST;
-- 大量進程:
unauthenticated user | 192.168.5.71:57857 | NULL | Connect | NULL | login | NULL

MySQL 嘗試對客戶端 IP 做反向 DNS 解析,解析超時/失敗導致連線堆積在 login 狀態,佔用連線槽位。

根因

  • MySQL 預設啟用主機名解析,用於權限表 Host 欄位匹配(如 %.example.com)。
  • 無 DNS 伺服器、DNS 解析慢、或 /etc/hosts 未配置時,每新連線都卡住數秒。

解決


# 啟動參數
mysqld --skip-name-resolve

# 或 my.cnf
[mysqld]
skip-name-resolve

副作用與對策

  • 權限表 Host 欄位**不再支援主機名**,僅支援 IP、localhost、%。
  • 現有帳號若用主機名(如 'user'@'app.example.com')將無法登入。
  • 遷移前:將所有主機名帳號改為 IP 或 %,再啟用參數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved