IP address could not be resolved: Temporary failure in name resolution

urgel_babay發表於2016-02-29


剛剛接觸mysql資料庫,所以很多東西都不會,今天檢視剛剛建好的mysql,發現日誌中出現好多的warning,自己查了一下,網上的人都說
這個警告不會影響資料庫的訪問 但是當有大量的這種日誌產生的時候,資料庫之前的錯誤資訊 就會很難去查詢了。連線數越多,產生報警日誌的頻率越高。

2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 12:59:16 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution
2014-08-13 13:00:36 3149 [Warning] IP address '172.17.206.195' could not be resolved: Temporary failure in name resolution

問題產生的原因:
出現錯誤的原因是MYSQL Server在本地記憶體中維護了一個非本地的Client TCP cache,這個cache中包含了遠端Client的登入資訊,比如IP地址,hostname等資訊。
如果Client連線到伺服器後,Mysql首先會在本地TCP池中根據IP地址解析客戶端的hostname或者反解析,如果解析不到,就會去DNS中進行解析,如果還是解析失敗就是在error log中寫入這樣的警告資訊。

解決的辦法:
1.可以透過兩個引數來disable這個功能,在MYSQL的配置檔案中[mysqld]中加入下面的引數:
[mysqld]
skip-host-cache
skip-name-resolv
它將禁止 MySql Server 對外部連線進行 DNS 解析,使用這一選項可以消除 MySql 進行 DNS 解析的時間。但是,這樣會引起一個問題:連線mysql時,
不能使用 localhost連線了,而是要使用IP(127.0.0.1)地址的;如果是按localhost,對使用者賦許可權的話,使用者登入許可權也要修改一下的

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2016619/,如需轉載,請註明出處,否則將追究法律責任。

相關文章