作者:王翔飞
爱可生研发团队测试成员,负责数据库管理平台的测试工作。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
本文关键字:最大连接数、TCP协议、MySQL协议、参数配置
现象
在测试某功能时,将 mysql 的最大连接数设置为 120,使用 sysbench 并发 200 插入数据,

上述错误是预期内的结果,因为 sysbench 的 200 个并发超过了 mysql 实例最大连接数;
随后,修改 sysbench 并发数为 100(小于最大连接数),再次插入数据,失败报错,并发数已经小于最大连接数了,为什么还报错,报错信息如下:

使用用户 test 单独登录实例,和上面报一样的错误:

之前正常的可以登录的用户 test,现在无法登录了。
原因和解决方法
起初,并不了解是什么原因造成的登录失败。查询官网文档了解到,是用户的错误的连接数超过了设置的最大值,这个最大值参数是 max_connect_errors。
解决方法很简单:执行 flush hosts

本文深入探讨了MySQL中max_connect_errors参数的作用,解析了为何在连接数低于最大限制时仍会出现连接失败的情况。通过实践案例,详细分析了如何通过flush hosts命令解决连接问题,以及如何利用telnet模拟协议握手错误。
最低0.47元/天 解锁文章
1200

被折叠的 条评论
为什么被折叠?



