前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[MYSQL案例][005] 日志中存在大量[MY-010914] [Server] Aborted connection

[MYSQL案例][005] 日志中存在大量[MY-010914] [Server] Aborted connection

原创
作者头像
大大刺猬
发布2023-05-20 10:56:38
1.9K0
发布2023-05-20 10:56:38
举报
文章被收录于专栏:大大刺猬

环境/读前须知

错误日志级别为3

MYSQL版本

log_error_verbosity

难易程度(共5级)

是否可模拟

8.0/5.7

3

2

log_error_verbosity Value

Permitted Messages

1

Error messages

2

Error and warning messages

3

Error, warning, and information messages

现象

日志中出现大量的连接问题: 2023-05-20T02:26:47.012121Z 207 [Note] [MY-010914] [Server] Aborted connection 207 to db: 'unconnected' user: 'u1' host: 'ddcw21' (Got an error reading communication packets)

分析

我们一般遇到note都不太管....

其实这个信息很好理解, 就是客户端异常断开了. 分两种情况:

1. 客户端/应用异常掉线, 比如被kill -9了

2. 网络问题

mysql连接退出的时候会发送quit包给server,(包括quit,或者ctrl+D退出), 如果没有发送给包给server就断开了就会出现这个note

可以使用我们之前写的mysql流量镜像脚本观察

一字节的1 就表示退出

解决办法

1. 日志里面提供了异常断开的客户端的IP地址, 可以根据IP地址找到对应的应用/客户端, 看下它究竟在干啥...

2. 眼不见心不烦. set global log_error_verbosity=2;

复现

mysql客户端

代码语言:javascript
复制
kill -9 `pidof mysql` #kill -9 客户端进程IP就行

模拟应用连接

可以使用我之前讲mysql连接协议时的脚本, 也可以使用pymysql之类的现成的工具.

代码语言:javascript
复制
import pymysql
for x in range(100):
	conn = pymysql.connect(
				host='127.0.0.1',
				port=3314,
				user='root',
				password='123456',
				)

总结

一般我们遇到这个note都是不管的, 毕竟又不是报错, 甚至都不是warning. 非要找原因的话就是网络/应用的问题.

应用多数都是使用的长连接, 一般不会出现这种问题, 那么就大概率是开发测试的时候连接没有释放(close()), 就一直连接(connect). 频繁的建立连接是有很多额外开销的, 还是得找到该应用,然后去处理(打一顿 -_-)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境/读前须知
  • 现象
  • 分析
  • 解决办法
  • 复现
    • mysql客户端
      • 模拟应用连接
      • 总结
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档