一、设置密码复杂度

①[root@localhost tmp]# mysql -uroot -p

②.测试修改密码

mysql>alter user 'root'@'localhost' identified by 'cnbi123';

③.查看一下当前修改后的密码策略,如果没有需要启动安全插件

mysql> SHOW VARIABLES LIKE "%password%";

④.启动安全插件

首先打开/etc/my.cnf,然后在[mysqld]的下方加入如下代码:
plugin-load-add=validate_password.so

validate-password=FORCE_PLUS_PERMANENT

重启mysqld服务

[root@localhost tmp]# systemctl restart mysqld.service

⑤.登录

[root@localhost tmp]# mysql -uroot -p

⑥.查看一下当前修改后的密码策略

mysql> SHOW VARIABLES LIKE "%password%";

⑦.设置强密码策略,启动插件默认是强密码,下面是说明参数不用设置

参数说明:

validate_password_policy值

Policy

Tests Performed

0 or LOW

Length

1 or MEDIUM

Length; numeric, lowercase/uppercase, and special characters

2 or STRONG

Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

如果不想设置那么复杂,比如指向设置root密码为1234,设置方式:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.00 sec)

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

mysql> select @@validate_password_length;

+----------------------------+

| @@validate_password_length |

+----------------------------+

|                          8 |

+----------------------------+

1 row in set (0.00 sec)

validate_password_length参数默认为8,它有最小值的限制,最小值为:

validate_password_number_count

+ validate_password_special_char_count

+ (2 * validate_password_mixed_case_count)

其中:

validate_password_number_count

#指定了密码中数据的长度,

validate_password_special_char_count

#指定了密码中特殊字符的长度,

validate_password_mixed_case_count

#指定了密码中大小字母的长度。

这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。如下所示:

mysql> select @@validate_password_length;

+----------------------------+

| @@validate_password_length |

+----------------------------+

|                          8 |

+----------------------------+

1 row in set (0.00 sec)

mysql> set global validate_password_length=1;

Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_length;

+----------------------------+

| @@validate_password_length |

+----------------------------+

|                          4 |

+----------------------------+

1 row in set (0.00 sec)

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

mysql> select @@validate_password_length;

+----------------------------+

| @@validate_password_length |

+----------------------------+

|                          4 |

+----------------------------+

1 row in set (0.00 sec)

mysql> select @@validate_password_mixed_case_count;

+--------------------------------------+

| @@validate_password_mixed_case_count |

+--------------------------------------+

|                                    1 |

+--------------------------------------+

1 row in set (0.00 sec)

mysql> set global validate_password_mixed_case_count=2;

Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_mixed_case_count;

+--------------------------------------+

| @@validate_password_mixed_case_count |

+--------------------------------------+

|                                    2 |

+--------------------------------------+

1 row in set (0.00 sec)

mysql> select @@validate_password_length;

+----------------------------+

| @@validate_password_length |

+----------------------------+

|                          6 |

+----------------------------+

1 row in set (0.00 sec)

二、设置密码90天过期

#设置全局密码过期时间default_password_lifetime,单位为天

①首先打开/etc/my.cnf,然后在[mysqld]的下方加入如下代码:

[mysqld]

default_password_lifetime=90

②重启mysqld服务

[root@localhost tmp]# systemctl restart mysqld.service

③登录mysql查看

mysql> SHOW VARIABLES LIKE "%password%";

#default_password_lifetime=0 时默认密码用不过期

除全局配置外,也可以创建用户时指定密码过期时间

①#创建用户test_passwd并设置密码过期时间为90天

mysql> CREATE USER 'test_passwd'@'localhost' identified by 'Atest_passwd123' PASSWORD EXPIRE INTERVAL 90 DAY;

mysql> select user,host,password_last_changed,password_lifetime from mysql.user where user='test_passwd';

②#创建用户test_passwd_never并设置密码用不过期

mysql> CREATE USER 'test_passwd2'@'localhost' identified by 'Atest_passwd123' PASSWORD EXPIRE NEVER;

mysql> select user,host,password_last_changed,password_lifetime from mysql.user where user='test_passwd2';

#创建用户test_passwd_default并设置密码过期时间遵循系统默认值

mysql> CREATE USER 'test_passwd_default'@'localhost' identified by 'Atest_passwd123' PASSWORD EXPIRE DEFAULT;

mysql> select user,host,password_last_changed,password_lifetime from mysql.user where user='test_passwd_default';

三、设置登录失败处理功能,失败登录5次锁定5分钟

设置方法:

①登录

[root@localhost tmp]# mysql -uroot -p

②输入一下命令,安装插件

mysql> install plugin CONNECTION_CONTROL soname 'connection_control.so';

mysql> install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';

查看:

mysql> show variables like '%connection_control%';

③修改my.cnf文件

vi /etc/my.cnf

在文件中,我们增加如下两行

connection-control-failed-connections-threshold=5   #登陆失败次数限制

connection-control-min-connection-delay=300000    #限制重试时间,此处为毫秒,注意按需求换算,此处为5分钟

④重启mysqld服务

[root@localhost tmp]# systemctl restart mysqld.service

⑤重新登录数据库,查看是否生效

mysql> show variables like '%connection_control%';

MYSQL5.7设置账号密码复杂度、密码有效期、账号锁定等策略相关推荐

  1. esxi 6.x 密码复杂度要求_还在为账号密码多而烦恼?

    聊天.游戏.邮箱.工作.购物.银行.娱乐.学习--太多太多的地方需要建账号设密码.看着一堆堆的账号密码,是不是觉得头大? 现在给大家推荐一款好用的记密码软件---闪灵密保.非常实用的一款密码管理器!l ...

  2. oracle数据库设置密码复杂度,Oracle EBS 数据库密码复杂度设置

    Oracle EBS 数据库密码复杂度设置 发布时间:2020-08-10 00:37:23 来源:ITPUB博客 阅读:116 作者:smilesu 应审计要求,需要对默认配置文件的密码进行复杂度设 ...

  3. linux 正则 设置密码复杂度,Ubuntu修改密码及密码复杂度策略设置方法

    一.修改密码 1.修改普通用户密码 passwd 先输入当前密码确认,然后输入新的密码修改 2.修改root用户密码 sudo passwd root 默认root用户被禁止登录,如果需要解除限制,修 ...

  4. oracle password_verify_function,使用PASSWORD_VERIFY_FUNCTION设置用户密码复杂度

    依据PASSWORD_VERIFY_FUNCTION可以设置oracle用户的密码复杂度,比如密码长度>=10,必须包含字母/数字等 首先需要创建一个密码验证的function,然后设置prof ...

  5. mysql密码复杂度设置

    mysql密码复杂度策略的插件,默认位置:/usr/local/mysql8/lib/plugin/validate_password.so 插件名字叫 validate_password,如果没有安 ...

  6. Juniper SRX密码复杂度、尝试登陆等相关设置

    Juniper的Junos系统可以设置密码复杂度.尝试登陆次数以及登陆失败后的动作.远程登陆并发数和超时时间等 规定密码长度 必须包含几种字符集,比如大写.小写.数字.特殊字符等要求 至少有几种字符集 ...

  7. 服务器 修改密码复杂度,服务器密码复杂度设置

    服务器密码复杂度设置 内容精选 换一换 代码迁移工具进行代码迁移时,需要调用Linux下的rpm.deb等命令才能完成扫描和迁移相关任务,这些命令和逻辑必须在后端Linux运行.插件只支持以Web模式 ...

  8. Ubuntu修改密码及密码复杂度策略设置

    文章目录 一.修改密码 1.修改普通用户密码 2.修改root用户密码 二.密码复杂度策略 1.安装cracklib模块 2.相关策略设置 (1) 禁止使用旧密码 (2)设置最短密码长度 (3)设置密 ...

  9. mysql密码过期设置,mysql5.6.X和mysql8.0.X密码过期策略

    mysql密码过期策略设置 关于mysql5.6.X和mysql8.0.X配置密码过期策略的学习心得 一.mysql5.6.X配置密码过期策略 网上说的方式,但这不适用于低于5.7.4版本 二.mys ...

  10. 密码安全:密码设置要求,密码爆破办法,密码归类使用,密码处置方案

    密码设置要求:常见的要求无非这么几条要求 密码复杂度.要求大写+小写+数字+字符,要求大于8位,要求不得使用常见密码例如123456 密码有效期.要求3个月必须更换密码 密码存储方式.要求足够私密,切 ...

最新文章

  1. 联合索引最左匹配原则成因
  2. 【经典书】线性代数与应用(附pdf)
  3. vim 打开文件末尾带有^M的解决办法
  4. [调试]Asp.Net常见问题
  5. php mvc 路由,PHP手写MVC (五)—— 路由
  6. solr基本查询和高级查询
  7. 【从入门到放弃-Java】并发编程-线程安全
  8. window.location和window.open的区别
  9. fastjson字符串json转对象(父类转子类)
  10. 一幅漫画趣味解读 Linux 内核
  11. 用DirectX实现粒子系统(二)
  12. CentOS7 部署 RAID 磁盘阵列
  13. 自适应在线聊天室源码
  14. Java 求阴历(C++ 求阴历方法的转换)
  15. BH_Ghost XP SP3完整装机版 V7.6(金大作品)
  16. 世卫组织使用的GIS软件是哪款?
  17. 解决linux“嘟嘟”的报警声
  18. Apache ServiceComb社区常见问题解答问答精选(第一期)
  19. 手机端的多图片剪辑上传支持手势支持预览
  20. B. Equalize by Divide - 思维+构造+排序

热门文章

  1. 【配置】GitHub Pages使用阿里云域名
  2. 如果你已经这样了,那你必须要跳槽了。
  3. 卫士处刑者冠军css3边,流放之路3.6强势BD排名_3.6版本之子介绍_3DM网游
  4. Lending Club贷款数据分析
  5. icloud 照片同步_如何在线查看iCloud照片
  6. 移动应用崛起新契机:超级app+轻应用
  7. MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB
  8. 搞懂敏感性、特异性以及精确率和召回率的关系
  9. [JZOJ4058]【JSOI2015】子集选取
  10. 1.1到底什么是云计算