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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最近很火的MySQL:抛开复杂的架构设计,MySQL优化思想基本都在这

优化一览图 优化 笔者将优化分为了两大类:软优化和硬优化。软优化一般是操作数据库即可;而硬优化则是操作服务器硬件及参数设置。 1、软优化 1)查询语句优化 首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息。 例…

【读书笔记】《深入浅出Webpack》

Webpack版本 分析版本为3.6.0 4.0为最近升级的版本,与之前版本变化较大,编译输出的文件与3.0版本会不一致,目前项目中使用的版本3.0版本,所以基于3.0版本进行分析学习。 Webpack构建流程 初始化:启动构建,读…

《JAVA与模式》之桥梁模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述桥梁(Bridge)模式的: 桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦&#xff0…

LABLEME UPDATE DAMOD

Labelme的改进——海量图片的自动标注 深度学习一般需要对大量的图片进行标注,但是手动标注耗时耗力,所以模仿labelme软件的功能,使用程序对大批量的图片进行自动标注,大大减少手动操作。下面介绍如何实现对大批量的图片进行标…

Java基础教程:面向对象编程[2]

Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 default (即缺省,什么也不写): 在同一包内可见&#xff…

【javascript】异步编年史,从“纯回调”到Promise

异步和分块——程序的分块执行 一开始学习javascript的时候, 我对异步的概念一脸懵逼, 因为当时百度了很多文章,但很多各种文章不负责任的把笼统的描述混杂在一起,让我对这个 JS中的重要概念难以理解, “异步是非阻塞的…

Shell编程之if语法练习(LNMP)全过程

大家好,我是延凯,本人原来在CSDN写作已经快一年了 都是相关Linux运维这方面的技术知识,现在搬到博客园也是我一直想的,本博客主要写Python,docker,shell等偏向开发云计算等知识点,谢谢各位&…

基于UNet和camvid数据集的道路分割

基于UNet和camvid数据集的道路分割h(1.3.0): 背景 语义分割是深度学习中的一个非常重要的研究方向,并且UNet是语义分割中一个非常经典的模型。在本次博客中,我尝试用UNet对camvid dataset数据集进行道路分割,大致期望的效果如下&…

二分法查找和普通查找

一、普通查找 对于数组和一个需要查找的元素来说,普通查找的原理很简单,即为从数组的第一个元素到最后一个元素进行遍历,如果第i个元素的值等于我们需要查找的值,那么返回找到的角标i,否则返回-1表示没有查找到。这里以…

Linux下安装zookeeper集群(奇数个)

1、 解压zookeeper压缩包 2、 data里创建“myid”文件(命令touch myid),内容是1(命令 echo 1 >> myid) 3、 zoo.cnf里配置dataDir、clientport、server.nIP:端口1(2881):端…

立体标定

立体标定应用标定数据转换成深度图标定 由于摄像头目前是我们手动进行定位的,我们现在还不知道两张图像与世界坐标之间的耦合关系,所以下一步要进行的是标定,用来确定分别获取两个摄像头的内部参数,并且根据两个摄像头在同一个世…

if _name_ == _main_

1.作用 py文件有2种使用方法,第1是自己本脚本自己独立执行;第2是被import到其他文件脚本中执行. if _name_ " _main_" 该语句控制其他下一步的脚本是否执行。如果是自己本脚本独立执行,那就运行该if条件下的脚本;如果…

LLVM完整参考安装

文章目录 一、直接下载编译好的,见图片命令二、下载源代码自己编译安装 下面提供下载并mv完全的文件包三、安装LLVM编译器一、直接下载编译好的,见图片命令 这里使用llvm官网编译好的包, 直接解压即可用LLVM下载官网点击这里下载llvm-6.0.1 下载完成后解压tar -vxf clangllv…

微软正式释出基于 Chromium 的 Edge 预览版本

百度智能云域名服务,.com新用户首购仅需25元 微软基于 Chromium 的全新版本 Edge 一直吸引着开发者与用户的目光,当地时间 8 日,官方终于释出了第一个 Dev 和 Canary 频道构建版本。 Dev 与 Canary build 都是开发者预览版,同属…

下载和安装R、RStudio !

现如今,R语言是统计领域广泛使用的工具,是属于GNU系统的一个自由、免费、源代码开放的软件,是用于统计计算和统计绘图的优秀工具。而RStudio是R的集成开发环境,用它进行R编程的学习和实践会更加轻松和方便。下面就教大家如何下载并…

豆瓣首页话题输入框的实现

在做问答的时候,遇到一个需求,用户的问题需要限制字数,不仅显示计算的超出字数,还需在超出的内容上加一些提醒的效果,例如豆瓣首页的话题输入框,抽时间研究了下,需要考虑下面几个问题&#xff1…

pytorch 吸烟检测yolov5s

YOLOV5s 吸烟目标检测 参考学习 文章目录 本原创项目长期更新,旨在完成校园异常行为实时精检测,作到集成N次开发优化(不止局限于调包)为止,近期将不断更新如下模型数据标注文件教程。关注博主,Star 一下g…

JQuery的ajax函数执行失败,alert函数弹框一闪而过

先查看<form>标签是否有action属性&#xff0c;如果没有&#xff0c;并且最后<button>标签的type属性为submit‘时&#xff0c;默认提交位置就是当前页面 如果在页面右键检查&#xff0c;点击网络&#xff0c;会在开头发现这样的post包&#xff1a; 在右侧消息头处…

C#中Request.ServerVariables详细说明及代理

Request.ServerVariables("Url") 返回服务器地址Request.ServerVariables("Path_Info") 客户端提供的路径信息Request.ServerVariables("Appl_Physical_Path") 与应用程序元数据库路径相应的物理路径Request.ServerVariables("Path_Transla…

coco与voc相互转化

把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签 点亮&#xff5e;黑夜 2020-07-07 11:08:24 3537 已收藏 90 分类专栏&#xff1a; 19—目标检测 文章标签&#xff1a; voc yolo 版权 把LabelImg标注的YOLO格式标签转化为VOC格式标签 和…