[英]MySQL is not resolving IP address, but nslookup does resolve
在工作中,我的團隊在Linux 14.04機器上有一個MySQL數據庫。 我的團隊正在努力更改使用主機名而不是IP的權限(以便IT團隊可以對網絡進行他們想做的事情,而不必擔心破壞我們的訪問權限)。
例如,會有一個用戶admin@10.10.xxx.xxx
,我們希望將其更改為admin@my-ws.co.local
。 我一直在和我的用戶玩耍(因為我已經具有root身份並且仍然可以登錄)。 將用戶配置文件的主機從IP地址更改為主機名后,Workbench將給出錯誤信息。
HOST '10.10.xxx.xxx' is not allowed to connect to this MySQL server
當我登錄到Linux機器並使用nslookup my-ws.co.local
,響應將為我提供正確的IP地址,因此我知道機器與網絡之間沒有連接問題。 並且由於響應是正確的,因此我假設內部DNS正常工作。
檢查performance_schema.host_cache
表,我可以看到IP 10.10.xxx.xxx
沒有解析為主機( HOST
HOST_VALIDATED
NULL
, HOST_VALIDATED
YES
)。
當nslookup
工作時,為什么MySQL無法將IP地址解析為正確的主機名? 我需要修復MySQL中的某些設置嗎? 我團隊中每個工作站的內部DNS中是否都需要記錄?
有正向查找,例如解析A
記錄,有反向查找 ,其中涉及查找PTR
記錄。 它們通常在公共網絡上配對在一起,但是請記住,一個或多個 A記錄可以指向相同的IP,但是應該只有一個反向PTR
記錄。 此外,雖然PTR
記錄應該是可解析的地址,但事實並非如此,反向條目可能無效或解析為完全不同的地址。
除非您有10.10.in-addr.arpa
的解析器, 10.10.in-addr.arpa
通常不會發生這種情況,因為這是保留的地址空間,否則您無法將IP反向查找回主機名。
使用nslookup
可以測試反向映射:
nslookup 10.10.1.1
該地址在哪里是您要撤消的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.