mysql的告警日志_MySQL Aborted connection告警日志的分析

前言:

有时候,连接MySQL的会话经常会异常退出,错误日志里会看到"Got an error reading communication packets"类型的告警。本篇文章我们一起来讨论下该错误可能的原因以及如何来规避。

1.状态变量Aborted_clients和Aborted_connects

首先我们来了解下Aborted_clients和Aborted_connects这两个状态变量的含义,当出现会话异常退出时,这两个状态值会有变化。根据官方文档描述,总结如下:

052fed0bbb62ca46d6f8060d5cc4f754.png

造成Aborted_connects状态变量增加的可能原因:

客户端试图访问数据库,但没有数据库的权限。

客户端使用了错误的密码。

连接包不包含正确的信息。

获取一个连接包需要的时间超过connect_timeout秒。

6dbc987fe62875c9c113eaa5db7b27d6.png

造成Aborted_clients状态变量增加的可能原因:

程序退出前,客户机程序没有调用mysql_close()。

客户端睡眠时间超过了wait_timeout或interactive_timeout参数的秒数。

客户端程序在数据传输过程中突然终止。

简单来说即:数据库会话未能正常连接到数据库,会造成Aborted_connects变量增加。数据库会话已正常连接到数据库但未能正常退出,会造成Aborted_clients变量增加。

2.Got an error reading communication packets原因分析

哪种情况会导致error log中出现“Aborted connection xxxx to db: 'db' user: 'dbuser' host: 'hostname' (Got an error reading communication packets)”类似告警呢?下面我们根据上面可能的原因来做下具体测试。每次测试要注意状态变量Aborted_clients和Aborted_connects的变化及错误日志记录。

测试一:错误密码,错误用户

1.测试前查看状态变量值mysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 0 || Aborted_connects | 0 |+------------------+-------+

2.测试过程# mysql -uroot -pwrongpassmysql: [Warning] Using a password on the command line interface can be insecure.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)# mysql -uroot1 -pwrongpassmysql: [Warning] Using a password on the command line interface can be insecure.ERROR 1045 (28000): Access denied for user 'root1'@'localhost' (using password: YES)

3.查看状态变化及错误日志mysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 0 || Aborted_connects | 2 |+------------------+-------+错误日志记录:2020-03-16T17:58:35.318819+08:00 6 [Note] Access denied for user 'root'@'localhost' (using password: YES)2020-03-16T17:59:04.153753+08:00 7 [Note] Access denied for user 'root1'@'localhost' (using password: YES)

结果:Aborted_connects有增加 error log无Aborted connection相关记录

测试二:睡眠时间超时或手动杀会话

1.测试前查看状态变量值mysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 0 || Aborted_connects | 2 |+------------------+-------+

2.手动杀会话测试mysql> show processlist;+----+------+-----------+------+---------+------+----------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------+------+---------+------+----------+------------------+| 9 | root | localhost | NULL | Query | 0 | starting | show processlist || 10 | root | localhost | NULL | Sleep | 7 | | NULL |+----+------+-----------+------+---------+------+----------+------------------+2 rows in set (0.00 sec)mysql> kill 10;Query OK, 0 rows affected (0.00 sec)

3.查看状态变化及错误日志mysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 1 || Aborted_connects | 2 |+------------------+-------+

结果:Aborted_clients有增加 error log无记录 ,类似的,睡眠时间超时后Aborted_clients有增加 error log中有Aborted connection相关记录。

会话异常退出一般会造成Aborted connection告警,即我们可以通过Aborted_clients状态变量的变化来反映出是否存在异常会话,那么出现“Got an error reading communication packets” 类似告警的原因就很明了了,查询相关资料,总结出造成Aborted connection告警的可能原因如下:

会话链接未正常关闭,程序没有调用mysql_close()。

睡眠时间超过wait_timeout或interactive_timeout参数的秒数。

查询数据包大小超过max_allowed_packet数值,造成链接中断。

其他网络或者硬件层面的问题。

3.问题避免与总结

其实Aborted connection告警是很难避免的,error log里或多或少会有少量Aborted connection信息,这种情况是可以忽略的,但是当你的error log里频繁出现Aborted connection告警,这时候就应该注意了,可能会对业务产生较大的影响。下面列举出几点避免错误的建议,希望对你有所帮助。

建议业务操作结束后,应用程序逻辑会正确关闭连接,以短连接替代长连接。

检查以确保max_allowed_packet的值足够高,并且客户端没有收到“数据包太大”消息。

确保客户端应用程序不中止连接,例如,如果PHP设置了max_execution_time为5秒,增加connect_timeout并不会起到作用,因为PHP会kill脚本。其他程序语言和环境也有类似的安全选项。

确保事务提交(begin和commit)都正确提交以保证一旦应用程序完成以后留下的连接是处于干净的状态。

检查是否启用了skip-name-resolve,检查主机根据其IP地址而不是其主机名进行身份验证。

尝试增加MySQL的net_read_timeout和net_write_timeout值,看看是否减少了错误的数量。

以上就是MySQL Aborted connection告警日志的分析的详细内容,更多关于MySQL Aborted connection告警日志的资料请关注脚本之家其它相关文章!

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

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

相关文章

hosts多个ip对应一个主机名_一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端...

WebSSH一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端。它是用Python编写的,基于tornado,paramiko和xterm.js。特征支持SSH密码验证,包括空密码。支持SSH公钥认证,包括DSA RSA ECDSA Ed25519密钥。支持加密密钥…

Yii框架中使用PHPExcel导出Excel文件

Yii框架中使用PHPExcel导出Excel文件http://www.cnblogs.com/wgx214/p/3709521.html转载于:https://www.cnblogs.com/flying-tx/p/3714530.html

Shell Notes(1)

> vi复制粘贴 光标移动到要复制的部分的开头,Esc退出插入模式,按v进入Visual模式,用hjkl选中要复制的部分 按Y或者yy,复制 移动光标到目标位置,按p,粘贴 > echo –e 参数 –e 可以使echo解释由反斜杠…

mysql多表查询语句_mysql查询语句 和 多表关联查询 以及 子查询

1.查询一张表:select * from 表名;2.查询指定字段:select 字段1,字段2,字段3….from 表名;3.where条件查询:select字段1,字段2,字段3 frome表名 where 条件表达式&#x…

Pytorch 自定义激活函数前向与反向传播 sigmoid

文章目录Sigmoid公式求导过程优点:缺点:自定义Sigmoid与Torch定义的比较可视化import matplotlib import matplotlib.pyplot as plt import numpy as np import torch import torch.nn as nn import torch.nn.functional as F%matplotlib inlineplt.rcPa…

SVN错误:Attempted to lock an already-locked dir

出现这个问题后使用“清理”功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。有时候如果看到某个包里面的文件夹没有SVN的标志,直接用“CtrlDelete”手工删除,然后“清理”&#xff0c…

js高级编程_这位设计师用Processing把创意编程玩到了极致!

Processing作为新媒体从业者的必备工具,近来却越来越成为设计师们的新宠!今天小编将介绍以为用Processing把创意编程玩到极致的设计师Tim Rodenbrker。“我们的世界正在以惊人的速度变化。新技术为创作带来了根本性的转变。编程是我们这个时代最宝贵的技…

微软.NET Framework 4.5.2 RTM正式版

今天,微软.NET开发团队发布.NET Framework 4.5.2 RTM正式版。新版框架继续高度兼容现有的.NET Framework 4、4.5、4.5.1等版本,该版本框架与旧版的.NET Framework 3.5 SP1和早期版本采取不同的处理方式,但与.NET Framework 4、4.5相比&#x…

HDU 1042 N!(高精度计算阶乘)

N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34687 Accepted Submission(s): 9711 Problem DescriptionGiven an integer N(0 ≤ N ≤ 10000), your task is to calculate N!InputOne N in one line, pr…

使用WebDriver遇到的那些坑

http://blog.csdn.net/oWuFeng1/article/category/2722111 在做web项目的自动化端到端测试时主要使用的是Selenium WebDriver来驱动浏览器。Selenium WebDriver的优点是支持的语言多,支持的浏览器多。主流的浏览器Chrome、Firefox、IE等都支持,手机上的浏…

python的闭包要素_Python的闭包

我的理解,Python中的闭包和其他语言中的闭包一样,都是在一个函数中返回另一个函数。def out_fun(num): print(------1-----) def in_fun(in_num): print(---------2--------) print(in_num%d % in_num) return num in_num print(-------3--------) retu…

Pytorch 自定义激活函数前向与反向传播 Tanh

看完这篇,你基本上可以自定义前向与反向传播,可以自己定义自己的算子 文章目录Tanh公式求导过程优点:缺点:自定义Tanh与Torch定义的比较可视化import matplotlib import matplotlib.pyplot as plt import numpy as np import torc…

multi mysql_mysqld_multi 的使用方法

mysqld_multi 的使用方法:官方文档:https://dev.mysql.com/doc/refman/5.7/en/mysqld-multi.html 【文档有些问题,按照它的这个配置,mysqld_multi无法关闭实例】mysqld_multi无法关闭实例的解决方法:https://bugs.mysql.com/bug…

vsftp 无法启动,500 OOPS: bad bool value in config file for: anonymous_enable

朋友的FTP启动不了,叫我帮他看,启动时出现以下错误信息: 500 OOPS: bad bool value in config file for: anonymous_enable 看似配置文件错误,看了一下配置相应的行: anonymous_enableNO 语句没什么错误,不…

HDU ACM 1181 变形课 (广搜BFS + 动态数组vector)-------第一次使用动态数组vector

http://acm.hdu.edu.cn/showproblem.php?pid1181 题意&#xff1a;给我若干个单词,若单词A的结尾与单词B的开头相同,则表示A能变成B,判断能不能从b开头变成m结尾. 如: big-got-them 第一次使用动态数组vector View Code 1 #include <iostream>2 #include <vector>…

Max Sum 杭电 1003

2019独角兽企业重金招聘Python工程师标准>>> #题目概述 题目的意思是给你一个数列&#xff0c;找到一个子数列&#xff0c;这个子数列的和是所有子数列中和最大的。 当然把数列的所有数都列出来肯定不现实。 黑黑&#xff0c;不知道正不正确&#xff0c;我是先从第一…

shiro反序列化工具_Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)源码解析

Apache ShiroApache Shiro是一个功能强大且灵活的开源安全框架,主要功能包括用户认证、授权、会话管理以及加密。在了解该漏洞之前,建议学习下Apache Shiro是怎么使用.debug环境jdk1.8Apache Shiro 1.2.4测试demo本地debug需要以下maven依赖<!-- https://mvnrepository.com/…

window 下的mysql_Windows下MySQL下载安装、配置与使用

用过MySQL之后&#xff0c;不论容量的话&#xff0c;发现比其他两个(sql server 、oracle)好用的多&#xff0c;一下子就喜欢上了。下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤。(我这个写得有点太详细了&#xff0c;甚至有些繁琐&#xff0c;有很多步骤在其他的教程文…

H264视频通过RTMP直播

http://blog.csdn.net/firehood_/article/details/8783589 前面的文章中提到了通过RTSP&#xff08;Real Time Streaming Protocol&#xff09;的方式来实现视频的直播&#xff0c;但RTSP方式的一个弊端是如果需要支持客户端通过网页来访问&#xff0c;就需要在在页面中嵌入一个…

Pytorch 自定义激活函数前向与反向传播 ReLu系列 含优点与缺点

文章目录ReLu公式求导过程优点&#xff1a;缺点&#xff1a;自定义ReLu与Torch定义的比较可视化Leaky ReLu PReLu公式求导过程优点&#xff1a;缺点&#xff1a;自定义LeakyReLu与Torch定义的比较可视化自定义PReLuELU公式求导过程优点缺点自定义LeakyReLu与Torch定义的比较可视…