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

解決遠程連接 MySQL 慢:skip-name-resolve 禁用 DNS 反查

     編輯:MySQL 資料庫相關知識

現象

Ping/路由正常,本地連接快,遠程 mysql_connect 打開連接極慢(數秒)。

原因

MySQL 啟動新線程處理連接時,會對客戶端 IP 做 DNS 反向解析(gethostbyaddr)。若客戶機無法訪問外網 DNS,解析超時導致延遲。

解決:禁用 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.
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved