欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql could not be resolved: Name or service not known

 更新時(shí)間:2015年08月10日 22:52:28   投稿:mdxy-dxy  
今天查看mysql日志的時(shí)候發(fā)現(xiàn)[Warning] IP address '10.0.0.220' could not be resolved: Name or service not known,原來是mysql DNS反解:skip-name-resolve的原因,屏蔽一下就可以了

問題: mysql DNS反解:skip-name-resolve

錯誤日志有類似警告:


1.120119 16:26:04 [Warning] IP address '192.168.1.10' could not be resolved: Name or service not known
2.120119 16:26:04 [Warning] IP address '192.168.1.14' could not be resolved: Name or service not known
3.120119 16:26:04 [Warning] IP address '192.168.1.17' could not be resolved: Name or service not known

通過show processlist發(fā)現(xiàn)大量類似如下的連接:

1.|592|unauthenticated user|192.168.1.10:35320|NULL|Connect| |login|NULL|
2.|593|unauthenticated user|192.168.1.14:35321|NULL|Connect| |login|NULL|
3.|594|unauthenticated user|192.168.1.17:35322|NULL|Connect| |login|NULL|

skip-name-resolve 參數(shù)的作用:不再進(jìn)行反解析(ip不反解成域名),這樣可以加快數(shù)據(jù)庫的反應(yīng)時(shí)間。

修改配置文件添加并需要重啟:

復(fù)制代碼 代碼如下:

[mysqld]
skip-name-resolve

其實(shí)就是在[mysqld]下面一行加入skip-name-resolve重啟mysql服務(wù)就可以了。

下面是更加詳細(xì)的解釋:

現(xiàn)象:

程序連接mysql時(shí),mysql的error.log里面提示:

[Warning] IP address '10.0.0.220' could not be resolved: Name or service not known

原因:

Mysql數(shù)據(jù)庫服務(wù)器沒有配置 /etc/hosts,也沒有DNS服務(wù),導(dǎo)致mysqld線程解析IP對應(yīng)的主機(jī)名時(shí),解析失敗。

參考資料:

Mysql域名解析:

當(dāng)一個(gè)新的客戶端嘗試跟mysqld創(chuàng)建連接時(shí),mysqld產(chǎn)生一個(gè)新線程來處理這個(gè)請求。新線程會先檢查請求建立連接的主機(jī)名是否在Mysql的主機(jī)名緩沖中,如果不在,線程會嘗試去解析請求連接的主機(jī)名。

解析的邏輯如下:

a. Mysql線程通過gethostbyaddr()把獲取的IP地址解析成主機(jī)名,然后通過gethostbyname()把獲取的主機(jī)名解析成IP地址,保障主機(jī)名和IP地址對應(yīng)關(guān)系的準(zhǔn)確;

b. 如果操作系統(tǒng)支持使用安全進(jìn)程的gethostbyaddr_r()和gethostbyname_r() 調(diào)用,Mysqld線程可以用它倆來優(yōu)化主機(jī)名解析;

c. 如果操作系統(tǒng)不支持安全線程調(diào)用,Mysqld進(jìn)程先做一個(gè)互斥鎖,然后調(diào)用gethostbyaddr()和gethostbyname()解析主機(jī)名。此時(shí),在第一個(gè)進(jìn)程釋放掉主機(jī)名緩沖池的主機(jī)名之前,其它進(jìn)程無法再次解析這個(gè)主機(jī)名; <-------MySQL手冊里面在此處說的host name ,意思應(yīng)該是指同一個(gè)IP地址和對應(yīng)的第一個(gè)主機(jī)名關(guān)系。

在啟動mysqld進(jìn)程是,可以使用 --skip-name-resolve 參數(shù)禁用DNS的主機(jī)名解析功能,禁用該功能后,在MySQL授權(quán)表里面,你只能使用IP地址。

如果你所處環(huán)境的DNS非常慢 或者 有很多主機(jī), 你可以通過禁用DNS解析功能--skip-name-resolve 或者 提高 HOST_CACHE_SIZE大小 來提升數(shù)據(jù)庫的響應(yīng)效率。

禁用主機(jī)名緩沖的發(fā)方法: 使用--skip-host-cache 參數(shù); 刷新主機(jī)名緩沖區(qū): 執(zhí)行 flush hosts 或者執(zhí)行mysqladmin flush-hosts;

禁用TCP/IP連接: 使用--skip-networking參數(shù)。

實(shí)驗(yàn):
# grep 192.168.1.1 /etc/hosts
192.168.1.1 hostname_online

sql> grant usage on *.* to root@'h_tt_%' identified by 'root';

sql> flush hosts;

# mysql -h 192.168.1.1 -uroot -proot

ERROR 1045 (28000): Access denied for user 'root'@'hostname_online' (using password: YES) ### IP解析為hostname_online,不是h_tt_%,訪問被拒。

# grep 192.168.1.1 /etc/hosts

192.168.1.1 hostname_online

192.168.1.1 h_tt_1

# mysql -h 192.168.1.1 -uroot -proot

ERROR 1045 (28000): Access denied for user 'root'@'hostname_online' (using password: YES)#### mysqld沒有刷新主機(jī)池緩沖池中的IP和主機(jī)名信息,此時(shí)IP對應(yīng)hostname_online

sql> flush hosts;

# mysql -h 192.168.1.1 -uroot -proot

ERROR 1045 (28000): Access denied for user 'root'@'hostname_online' (using password: YES) #### mysqld解析了/etc/hosts里面同一個(gè)IP對應(yīng)的第一個(gè)主機(jī)名關(guān)系時(shí),就不再解析后面這個(gè)IP對應(yīng)的主機(jī)名關(guān)系

# grep 192.168.1.1 /etc/hosts

192.168.1.1 h_tt_1

192.168.1.1 hostname_online

sql> flush hosts;

# mysql -h 192.168.1.1 -uroot -proot

sql> exit

【實(shí)驗(yàn):】驗(yàn)證解析相同IP對應(yīng)的第一個(gè)主機(jī)名關(guān)系后,就不再解析相同IP:

Sql>grant usage on *.* to root@'h_tt_%' identified by ‘root';

Sql>flush hosts;

# grep h_tt /etc/hosts # grep h_tt /etc/hosts

192.168.1.1hostname_online 192.168.1.1h_tt_1

192.168.1.1h_tt_1 192,168.1.2h_tt_1

訪問mysql被拒絕; 從兩個(gè)IP都可以訪問mysql.

【結(jié)論】

此實(shí)驗(yàn)驗(yàn)證了,上述mysql手冊中對"How MySQL Uses DNS"的解釋。

即mysqld線程解析/etc/hosts是,是以IP作為唯一標(biāo)識的,及時(shí)一個(gè)IP對應(yīng)了多個(gè)主機(jī)名,但是mysqld線程只解析第一條對應(yīng)關(guān)系,不論后面有幾條這個(gè)IP對應(yīng)的不同主機(jī)名的記錄,Mysqld進(jìn)程都不會去解析,都是無效的。

【適用環(huán)境:】

沒有DNS服務(wù)器,主機(jī)非常非常多,或者 不想維護(hù)/etc/hosts里面手動配置的IP和主機(jī)名對應(yīng)列表時(shí),可以在mysql授權(quán)時(shí)執(zhí)行主機(jī)名為"%" 或者禁用IP和主機(jī)名解析功能(--skip-name-resolve)。

相關(guān)文章

  • MySQL的語法及其使用指南

    MySQL的語法及其使用指南

    數(shù)據(jù)庫的選取,創(chuàng)建,丟棄和變更 數(shù)據(jù)表和索引的創(chuàng)建,變更和丟棄從數(shù)據(jù)表檢索信息
    2008-04-04
  • Windows7下如何在命令行使用MySQL

    Windows7下如何在命令行使用MySQL

    這篇文章主要介紹了Windows7下如何在命令行使用MySQL的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • MySQL排序原理和案例詳析

    MySQL排序原理和案例詳析

    這篇文章主要給大家介紹了關(guān)于MySQL排序原理和案例詳析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL最佳實(shí)踐之分區(qū)表基本類型

    MySQL最佳實(shí)踐之分區(qū)表基本類型

    這篇文章主要給大家介紹了關(guān)于MySQL最佳實(shí)踐之分區(qū)表基本類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • mysql 備份與遷移 數(shù)據(jù)同步方法

    mysql 備份與遷移 數(shù)據(jù)同步方法

    以前要做mysql的備份,我往往都是利用 EMS SQL Manager 實(shí)現(xiàn)導(dǎo)出 sql腳本文件,或者導(dǎo)出dbf 文件。而要把本地?cái)?shù)據(jù)庫遷移到遠(yuǎn)程直接把腳本在服務(wù)端執(zhí)行就OK。
    2009-10-10
  • mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案

    mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案

    這篇文章主要介紹了mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案,需要的朋友可以參考下
    2021-05-05
  • MySQL 連接查詢的原理和應(yīng)用

    MySQL 連接查詢的原理和應(yīng)用

    這篇文章主要介紹了MySQL 連接查詢的原理和應(yīng)用,幫助大家更好的理解和學(xué)習(xí)MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-11-11
  • mysql 常見命令和學(xué)習(xí)心得

    mysql 常見命令和學(xué)習(xí)心得

    mysql 常見命令和學(xué)習(xí)心得,學(xué)習(xí)php的朋友需要了解的一些基礎(chǔ),方便日后的開發(fā)。
    2009-09-09
  • MySQL:explain結(jié)果中Extra:Impossible?WHERE?noticed?after?reading?const?tables問題

    MySQL:explain結(jié)果中Extra:Impossible?WHERE?noticed?after?rea

    這篇文章主要介紹了MySQL:explain結(jié)果中Extra:Impossible?WHERE?noticed?after?reading?const?tables問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL 數(shù)據(jù)備份與還原的示例代碼

    MySQL 數(shù)據(jù)備份與還原的示例代碼

    這篇文章主要介紹了MySQL 數(shù)據(jù)備份與還原的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09

最新評論