返回

一个CONNECTION 插件引起的连接问题

发布时间:2022-11-23 09:55:39 304
# html# 数据库# sql# 数据# 信息

一个MYSQL CONNECTION 插件引起的连接问题,应用反应,数据库帐户经常连接不上,时好时坏。而且手动测试,也是hang在这里. 且数据库错误日志并无异常。

目录

  • ​​适用范围​​
  • ​​问题概述​​
  • ​​问题原因​​
  • ​​解决方案​​
  • ​​参考文档​​

适用范围

5.7+

问题概述

应用反应,数据库帐户经常连接不上,时好时坏。而且手动测试,也是hang在这里,现象如下:

一个CONNECTION 插件引起的连接问题_mysql

问题原因

通过手动测试,确实时连接不上。而且其这帐户正常。 查看错误日志并无异常。

随后能过root 帐户登录 ,查看了一上等待事件。

一个CONNECTION 插件引起的连接问题_数据库_02

从processlis 上可以看出,连接一直在等待 connection_control plugin, 这里基本上可以确定是这个插件影引起的了。 随后我们也查看了插件和启用状态,为ACTIVE。

一个CONNECTION 插件引起的连接问题_数据库_03

插件的参数配置:

一个CONNECTION 插件引起的连接问题_解决方案_04

参数说明如下:
connection_control_failed_connections_threshold:单个用户登录失败(由于密码错误引起)次数上限,默认3次, 这里设置的5次
connection_control_max_connection_delay:失败上限之后再次尝试登录前最大等待时间,单位ms
connection_control_min_connection_delay:失败上限之后再次尝试登录前最小等待时间,单位ms。 这里是15分钟

也就是说DB尝试5次错误输入密码后,在第6次登录时会delay 15分钟(由connection_control_min_connection_delay指定),同时Connection_control_delay_generated计数+1(若登录密码继续输入错误,则delay秒数与计数器继续增加。直到成功登录为止之后,此时delay清零。

我们可以查看Connection_control_delay_generated 信息,已有292次错误。

一个CONNECTION 插件引起的连接问题_mysql_05

通过和客户确认,确实是在MYSQL服务上配置这connection插件和参数。

解决方案

  1. 临时解决办法 将connection_control_failed_connections_threshold 参数设置到足够大,或都将connection_control_min_connection_delay设置为足够小。这样客户的感知就会减小。
  2. 临时卸载connection 插件
mysql> UNINSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;
mysql> UNINSTALL PLUGIN CONNECTION_CONTROL;
  1. 通过分析审计日志,找出连接失败的服务,确定连接配置的密码是否正常。

参考文档

​​https://dev.mysql.com/doc/refman/5.7/en/connection-control-installation.html​​



特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线