设为首页 加入收藏

TOP

Lost connection to MySQL server at 'reading authorization packet' 处理解决办法
2015-07-24 11:53:47 来源: 作者: 【 】 浏览:2
Tags:Lost connection MySQL server ' reading authorization packet' 处理 解决 办法

Mysql Version : 5.1.73

Os Version : Centos 5.9

问题叙述:

今天一个php程序从客户端连接Mysql被监测到在偶尔的连接过程中报错,信息如下:

\

Lost connection to MySQL server at 'reading authorization packet',看到这个错误提示,第一想到是客户端连接不上,服务端本地是否能连接。经验证,服务端本地是可以连接的,这就松了口气,一方面有很多任务是跑在Mysql服务端的,如果本地无法连接,会造成大部分程序阻塞;

另一方面,服务端可以连接,那就可以进行相关的查问题。

show processlist查看连接的时候,发现连接数并不多,此时并发不高,不是并发的问题,但是有个值,很显眼:

\

unauthenticated user,和报错的信息相似,未验证的用户。

查了一下相关的资料,给出的解释是:“unauthenticated user” 是由一个客户端发起的连接,但是这个客户端用户还没有被认证。这种情况一般在系统负载比较高或者mysql比较繁忙的时候遇到。

看到连接不高,看有可能是负载高也会导致,这个问题,然后看了下机器负载,负载并不高.....

还有个参数也要提一下,就是skip-name-resolve。当客户端连接上来,服务器端都会对客户端进来DNS都会进行反查,来获得客户端的域名或主机名。而 skip-name-resolve 这个参数的意义就是禁止反向域名解析。然后就怀疑会不会是DNS服务器出了问题,才导致连接验证用户出问题。

然后看了下 skip-name-resolve 状态

\

此时 skip-name-resolve 参数已经设定了。那这个问题,就可以拿过去不考虑了。

然后发现OS级别的监控外网百兆网卡有流量警报。然后发现了个问题,PHP程序对于Mysql的访问(每秒会有几百次的select)全是基于外网,造成了流量过高。然后看了下内网网卡,千兆,呵呵了,果断把基于外网的访问挪到内网上来。。。观察一段时间,连接缓解了,问题没在发生。。。。。

!记一次网卡造成的Mysql连接异常!

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql技术内幕之InnoDBInsert(插.. 下一篇【访问MySQL服务器】

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解智能指针? (2025-12-24 12:48:26)
·c++是否应避免使用普 (2025-12-24 12:48:23)
·如何通俗易懂学会 C+ (2025-12-24 12:48:21)
·在 C 语言函数中,如 (2025-12-24 12:19:41)
·C盘里面的AppData文 (2025-12-24 12:19:38)