日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql异常问题排查与处理——mysql的DNS反向解析和客户端网卡重启

發布時間:2023/12/13 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql异常问题排查与处理——mysql的DNS反向解析和客户端网卡重启 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

中午剛想趴一會,不料鍋從天降!!!Mysql連不上了。。。。。。。

現象如下:

? ? 現象1:登錄mysql所在服務器,連接MySQL 成功;

? ? 現象2:通過客戶端遠程連接MySQL,返回失敗,如下:

Enter password: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx' (111)

? ?現象三:通過某些客戶端可以連,就是響應極慢。

? ?現象四:通過客戶端可以ping通,但是telnet 數據庫端口失敗。且無論ping還是telnet,數據庫服務器均收不到數據包。

客戶端: tcpdump -nn -i eth0 icmp 和 執行ping 服務端ip的操作 服務端: tcpdump -i br0 -nn icmp and host 客戶端ip

? ?現象五:show processlist 有好多unauthenticated user的用戶(參考參考連接所述

mysql> show processlist; +-----+----------------------+---------------------+---------------------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-----+----------------------+---------------------+---------------------+---------+------+-------+------------------+ | 2 | root | 192.168.1.60:43961 | xxx | Sleep | 39 | | NULL | | 7 | root | 192.168.1.34:41155 | xxx | Sleep | 7 | | NULL | | 30 | root | 192.168.20.7:38282 | xxx | Sleep | 6 | | NULL | | 44 | root | 192.168.20.7:38308 | xxx | Sleep | 6 | | NULL | | 106 | root | 10.88.9.23:61181 | NULL | Sleep | 19 | | NULL | | 110 | unauthenticated user | 10.88.128.22:38648 | NULL | Connect | NULL | login | NULL | | 111 | unauthenticated user | 10.88.10.185:57430 | NULL | Connect | NULL | login | NULL | | 112 | unauthenticated user | 10.88.11.196:56473 | NULL | Connect | NULL | login | NULL | | 113 | unauthenticated user | 10.88.128.22:38650 | NULL | Connect | NULL | login | NULL | | 114 | unauthenticated user | 10.88.10.185:57439 | NULL | Connect | NULL | login | NULL | | 115 | unauthenticated user | 10.88.128.117:58555 | NULL | Connect | NULL | login | NULL | | 116 | unauthenticated user | 10.88.128.22:38653 | NULL | Connect | NULL | login | NULL | | 117 | unauthenticated user | 10.88.10.185:57444 | NULL | Connect | NULL | login | NULL | | 118 | unauthenticated user | 10.88.128.22:38655 | NULL | Connect | NULL | login | NULL | | 119 | unauthenticated user | 10.88.128.22:38657 | NULL | Connect | NULL | login | NULL | | 120 | unauthenticated user | 10.88.10.185:57453 | NULL | Connect | NULL | login | NULL | | 122 | unauthenticated user | 10.88.128.22:38659 | NULL | Connect | NULL | login | NULL | | 123 | unauthenticated user | 10.88.128.22:38661 | NULL | Connect | NULL | login | NULL | | 124 | unauthenticated user | 10.88.10.185:57458 | NULL | Connect | NULL | login | NULL | | 125 | unauthenticated user | 192.168.20.45:47091 | NULL | Connect | NULL | login | NULL | | 126 | unauthenticated user | 192.168.20.45:47092 | NULL | Connect | NULL | login | NULL | | 127 | unauthenticated user | 192.168.20.45:47093 | NULL | Connect | NULL | login | NULL | | 128 | root | localhost | NULL | Query | 0 | NULL | show processlist | | 129 | unauthenticated user | 10.88.128.22:38664 | NULL | Connect | NULL | login | NULL | +-----+----------------------+---------------------+---------------------+---------+------+-------+------------------+ 24 rows in set (0.01 sec)

?

問題解決辦法:

? ? 第一步:修改mysql的my.conf配置文件,在[mysqld]模塊下增加,停止mysql的域名反向解析。之后重啟數據庫,此項解決大多數問題

skip-name-resolve

? ? 第二步: 重啟客戶端的網卡,再次連接mysql,搞定剩下的一小部分問題。

#service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 10.88.128.66 is already in use for device eth0...[ OK ]

?

結論

? ? 1. ?針對MySQL的對連接的客戶端進行DNS反向解析的處理,暫不曉得本質原因。網上暫沒有搜到本質信息。參考【參考連接】

? ? 2. 網卡的問題,網管懷疑客戶端的網卡自娛自樂了。。。。ping的時候壓根沒有走到目的地就返回了

?

【參考連接】:https://segmentfault.com/a/1190000002682272

今天早上開發那邊發現mysql連接很慢,登陸到服務器上查看服務器日志都是正常的,無可疑記錄,剛剛還好好的,怎么突然出現這個問題,于是登陸到mysql服務器上,查看下進程,發現有很多這樣的連接: 218 | unauthenticated user | 192.168.10.6:44500 | NULL | Connect | NULL | login | NULL 219 | unauthenticated user | 192.168.10.6:44501 | NULL | Connect | NULL | login | NULL ........ 放狗,放狗。。。 原因是由于mysql對連接的客戶端進行DNS反向解析。 有2種解決辦法: 1,把client的ip寫在mysql服務器的/etc/hosts文件里,隨便給個名字就可以了。 2,在 my.cnf 中加入 –skip-name-resolve 。 對于第一種方法比較笨,也不實用,那么 skip-name-resolve 選項可以禁用dns解析,但是,這樣不能在mysql的授權表中使用主機名了,只能使用IP。 我理解mysql是這樣來處理客戶端解析過程的, 1,當mysql的client連過來的時候,服務器會主動去查client的域名。 2,首先查找 /etc/hosts 文件,搜索域名和IP的對應關系。 3,如果hosts文件沒有,則查找DNS設置,如果沒有設置DNS服務器,會立刻返回失敗,就相當于mysql設置了skip-name-resolve參數,如果設置了DNS服務器,就進行反向解析,直到timeout。 有一點不明白,為什么連接mysql服務器內網的ip地址也要進行DNS反向解析,而這時候DNS解析返回給mysql的是什么呢? 望高手解答。

?

如有錯誤,還請各位數據庫大神不吝賜教。?

?

謝謝

轉載于:https://www.cnblogs.com/zhzhang/p/7448006.html

總結

以上是生活随笔為你收集整理的Mysql异常问题排查与处理——mysql的DNS反向解析和客户端网卡重启的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。