Ping/路由正常,本地連接快,遠程 mysql_connect 打開連接極慢(數秒)。
MySQL 啟動新線程處理連接時,會對客戶端 IP 做 DNS 反向解析(gethostbyaddr)。若客戶機無法訪問外網 DNS,解析超時導致延遲。
在 my.cnf(Linux)或 my.ini(Windows)[mysqld] 區添加:
[mysqld] skip-name-resolve
重啟 MySQL 即時生效。
mysql.user 的 Host 列只能用 IP,不能用域名--skip-host-cache 或增大 HOST_CACHE_SIZE 重編譯You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.