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.pswp.cn/news/260489.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260489.shtml
英文地址,請注明出處:http://en.pswp.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定義的比較可視…