目 录
一、mysql5报错现象说明
二、问题分析
1,官网说明
2,问题分析
三、网络问题排查
1、问题排查过程
2、问题解决
客户现场,发现mysql总是出现如下错误,导致视频监控平台的web页面异常,AS-V1000视频平台的客户端看不到任何数据。
2023-11-01T10:54:45.537645Z 257 [Note] Aborted connection 257 to db:’ivms320’ user:’ root’ host:‘localhost’(Got an error reading communication packets)
2023-11-01T10:54:45.5376587 252 [Note] Aborted connection 252 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:54:45 537554Z 251 [Note] Aborted connection 251 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:54:45.537695Z 256 [Note] Aborted connection 256 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:55:45.879148Z 264 [Note] Aborted connection 254 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:55:45.879208Z 267 [Note] Aborted connection 267 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:55:45.879269Z 271 [Note] Aborted connection 271 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:55:45 883542Z 265 [Note] Aborted connection 265 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:55:45.883566Z 268 [Note] Aborted connection 268 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
2023-11-01T10:55:45.883572Z 269 [Note] Aborted connection 269 to db:’ivms320’ user:’ root’ host: ‘localhost’(Got an error reading communication packets)
实际环境,截图如下:
错误都是类似这样的:
Aborted connection xxx to db: 'xxx' user: 'xyz' host: 'xxx.xxx.xxx.xxx' (Got an error reading communication packets)
很明显,是通信问题,于是查找到mysql的官网,找到问题的描述页面,如下:Communication Errors and Aborted Connections,地址为:
MySQL :: MySQL 5.7 Reference Manual :: B.3.2.9 Communication Errors and Aborted Connections
从这个图上的说明可以看出,跟我们出现的问题非常匹配。
翻译过来就是下面的话:
-------------------------------------------------------------------------
如果客户端成功连接,但后来断开连接不正确或被终止,则服务器会增加Aborted_clients状态变量,并将Aborted连接消息记录到错误日志中。原因可能是以下任何一种:
(1)客户端程序在退出之前未调用mysql_close()。
(2)客户端在没有向服务器发出任何请求的情况下睡眠超过wait_timeout或interactive_timeout秒。参见第5.1.7节“服务器系统变量”。
(3)客户端程序在数据传输过程中突然结束。
---------------------------------------------------------------------------
通过这些原因说明,很显然,是网络连接问题。那就应该从网络问题的方向排查。
其他功能一切正常,网络硬件也都正常工作,带宽也是好的。
估计还是网络软件方面的问题。
(1)先看端口占用情况,nmap发现很多端被占用
(2)Netstat查看端口,发现很多TIME-WAIT,如下图示
(3)发现连接的端口都是8081,而8081是我们一个通信的端口,由此判断这个通信程序除了问题
(1)检测程序内部,发现通信的校验密码不匹配,也就是其他几个服务模块跟主服务器模块的通信机制一直建立不起来,造成一直发送mysql临时链接;
(2)更改校验密码;
(3)问题解决。