国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

mysqlcouldnotberesolved:Nameorservicenotknown_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 20:06:43
文檔

mysqlcouldnotberesolved:Nameorservicenotknown_MySQL

mysqlcouldnotberesolved:Nameorservicenotknown_MySQL:問題: 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 [War
推薦度:
導讀mysqlcouldnotberesolved:Nameorservicenotknown_MySQL:問題: 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 [War

問題: 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發現大量類似如下的連接:

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 參數的作用:不再進行反解析(ip不反解成域名),這樣可以加快數據庫的反應時間。

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

代碼如下:


[mysqld]
skip-name-resolve

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

下面是更加詳細的解釋:

現象:

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

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

原因:

Mysql數據庫服務器沒有配置 /etc/hosts,也沒有DNS服務,導致mysqld線程解析IP對應的主機名時,解析失敗。

參考資料:

Mysql域名解析:

當一個新的客戶端嘗試跟mysqld創建連接時,mysqld產生一個新線程來處理這個請求。新線程會先檢查請求建立連接的主機名是否在Mysql的主機名緩沖中,如果不在,線程會嘗試去解析請求連接的主機名。

解析的邏輯如下:

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

b. 如果操作系統支持使用安全進程的gethostbyaddr_r()和gethostbyname_r() 調用,Mysqld線程可以用它倆來優化主機名解析;

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

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

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

禁用主機名緩沖的發方法: 使用--skip-host-cache 參數; 刷新主機名緩沖區: 執行 flush hosts 或者執行mysqladmin flush-hosts;

禁用TCP/IP連接: 使用--skip-networking參數。

實驗:
# 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沒有刷新主機池緩沖池中的IP和主機名信息,此時IP對應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里面同一個IP對應的第一個主機名關系時,就不再解析后面這個IP對應的主機名關系

# 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

【實驗:】驗證解析相同IP對應的第一個主機名關系后,就不再解析相同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被拒絕; 從兩個IP都可以訪問mysql.

【結論】

此實驗驗證了,上述mysql手冊中對"How MySQL Uses DNS"的解釋。

即mysqld線程解析/etc/hosts是,是以IP作為唯一標識的,及時一個IP對應了多個主機名,但是mysqld線程只解析第一條對應關系,不論后面有幾條這個IP對應的不同主機名的記錄,Mysqld進程都不會去解析,都是無效的。

【適用環境:】

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mysqlcouldnotberesolved:Nameorservicenotknown_MySQL

mysqlcouldnotberesolved:Nameorservicenotknown_MySQL:問題: 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 [War
推薦度:
標簽: mysql be or
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 就爱啪啪网站 | 国产淫视| 国产传媒一区二区三区四区五区 | 国产宾馆自拍 | 国产精品第1页 | 成人国产一区二区三区精品 | 久操久热 | 日韩午夜免费电影 | 一区一精品 | 粉嫩美女流白浆视频 | 超在线视频 | 欧美黄色网页 | 久久久网久久久久合久久久久 | 可以看的毛片 | 日韩精品在线观看免费 | 毛片激情永久免费 | 日本一道在线 | 精品国产综合区久久久久99 | 人善交xxx| 日韩综合第一页 | 久热中文字幕在线精品首页 | 真实和子乱视频 | 国产成人精品三级在线 | 欧美不卡二区 | 欧美亚洲综合在线观看 | 亚洲日韩欧美一区二区在线 | 色老头久久久久 | 91精品国产品国语在线不卡 | 精品国产一区二区二三区在线观看 | 国产成人免费高清激情明星 | 国产精品视频不卡 | 久久久久久国产精品视频 | 麻豆精品久久久 | 亚洲国产欧美日韩精品一区二区三区 | 久久久久久91香蕉国产 | 久久国产精品成人免费古装 | 欧美色图亚洲天堂 | 亚洲一区二区在线成人 | 综合亚洲一区二区三区 | 精品欧美在线 | 亚洲精品一二区 |