“Mysql常见配置参数”的版本间的差异
跳到导航
跳到搜索
第24行: | 第24行: | ||
[https://zhuanlan.zhihu.com/p/82554484 那些年踩过的MySQL wait_timeout参数的坑] | [https://zhuanlan.zhihu.com/p/82554484 那些年踩过的MySQL wait_timeout参数的坑] | ||
+ | |||
+ | ==全局设置密码过期:default_password_lifetime== | ||
+ | [https://majing.io/posts/10000004761184 MySQL 5.7设置用户密码过期] | ||
=other= | =other= |
2021年9月18日 (六) 06:50的版本
目录
my.cnf
max_connect_errors
max_connect_errors是一个MySQL中与访问安全有关的一个参数,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。但是经过实际测试,发现此参数并不能真正的阻止恶意的客户端恶意访问MySQL Server,下面我就来对这个参数的作用以及测试过程做个说明。 max_connect_errors这个参数可以动态修改设置,所以你可以在命令行直接设置: set global max_connect_errors=10 但是一旦MySQL服务重启,上面设置的值就失效了,如果想要永久生效,还需要修改MySQL参数文件,在其中添加此参数的设置 有的人可能觉得设置完此参数后,就可以正常拦截同一个client,密码错误的访问连续超过10次的情况了,而现实是这样的么?经过本人在5.6.24上测试,发现此参数是没有作用的。如果想要此参数生效,需要具备至少下面的两个条件: 只有设置参数skip_name_resolve为OFF时,参数max_connect_errors才能生效,否则不能生效,即 skip_name_resolve=OFF max_connect_errors=10
你真的了解MySQL中max_connect_errors的作用么?
wait_timeout
全局设置密码过期:default_password_lifetime
other
max_connect_errors的值为10 wait_timeout参数为1800,连接超时30分钟会自动退出。 on line set global max_connect_errors=10; set global wait_timeout 1800; SET GLOBAL default_password_lifetime = 90; add to my.cnf [mysqld] interactive_timeout = 1800 wait_timeout = 1800 max_connect_errors = 10 default_password_lifetime=90