首页 > 其他分享 >一个CONNECTION 插件引起的连接问题

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

时间:2022-11-21 11:34:16浏览次数:63  
标签:control 插件 登录 CONNECTION delay connection 连接

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

目录

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

适用范围

5.7+

问题概述

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

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

问题原因

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

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

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

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

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

插件的参数配置:

一个CONNECTION 插件引起的连接问题_mysql_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 插件引起的连接问题_数据库_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​



标签:control,插件,登录,CONNECTION,delay,connection,连接
From: https://blog.51cto.com/u_12993908/5873183

相关文章