MySQL 参数解析 password_reuse_interval

MySQL 8.0 引入新的参数 password_reuse_interval,用来控制历史密码的 使用策略,增强密码安全性。password_reuse_interval 参数定义了一个阈值,来控制之前使用过的密码,在经过多少天之后,才能重复使用,该参数设置为0,表示禁用该策略。

该参数与password_history功能很相似,不同的是password_history指定的是密码修改多少次之后,才能重复使用旧密码。

password_reuse_interval:

  • 作用范围:Global
  • 动态修改:Yes
  • 默认值:0
  • 取值范围:0~4294967295

举个例子,设置password_reuse_interval为3,MySQL 账号 root 其初始密码为 ‘111111’,然后修改密码为’222222’,再次将密码修改回’111111’时,就会报错,必须等到3天之后,才能将密码修改回’111111’,否则将会报错,如下:

ERROR 3638 (HY000): Cannot use these credentials for ‘app8@%’ because they contradict the password history policy

除了使用参数password_reuse_interval来控制全局的历史密码使用策略外,还可以在create user和alter user语句中,使用password reuse interval 子句单独控制某个用户的历史密码策略,如下所示:

  • create user ‘app’@’localhost’ password reuse interval 365 day;
  • alter user ‘app’@’localhost’ password reuse interval 365 day;

发表评论