总结以下几点:mysql8.0.19
1. 该参数对本地登录及远程登录密码错误次数没有效果
2. 对网络超时、连接超时以及telnet ip 3306操作有影响
3.参数查看:
show variables like '%max_connect_errors%';
4.错误累计次数查看:
select * from performance_schema.host_cache # 表字段sum_connect_errors值
5.当sum_connect_errors这个值大于max_connect_errors,则出现HOST is blocked错误
6.同一个ip地址短时间内登录失败次数超过max_connect_errors值才会出现HOST is blocked
7.用该ip成功登录一次,则清零
解决方法:
1.调大max_connect_errors参数,越大越好
set global max_connect_errors=1000000
2.执行命令
mysqladmin -uroot -p flush-hosts
这种方法不好,因为会清空host_cache表,导致其他服务器客户端都要重新DSN解析。
3.将设为0,本质上就是禁掉host cache内存区域的使用。
set gloabl host_cache_size=0
4.在my.cnf里面添加skip-name-resolve参数,禁止使用DNS解析。弊端:客户端不能用机器名连接,只能用IP地址。
5.在my.cnf里面添加skip-networking参数,关闭TCP/IP连接方式。因为只有远程连接这个参数才起作用。