mysql添加密码策略
概述今天主要介绍下MySQL数据库密码策略及用户资源限制 ,下面实验基于mysql5.7来测试。01密码策略在mysql 5.6对密码的强度进行了加强,推出了validate_password 插件。...
2024.11.12今天主要分享一个关于mysql密码策略限制的方案。
一、需求具体需求如下:
root及应用系统账号设置永不过期,运维人员账号设置过期时间为180天
二、相关原理从MySQL 5.7.4版开始,用户的密码过期时间这个特性做了改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。 常用如下:
1、全局策略:90天过期
可以在MySQL的配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为90天,MySQL会从启动时开始计算时间。my.cnf配置如下:
[mysqld]default_password_lifetime=902、全局策略:永不过期
如果要设置密码永不过期的全局策略,可以设置
[mysqld]default_password_lifetime=03、用户特定策略:30天过期(覆盖全局)
还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。
ALTER USER ‘testuser‘@‘localhost‘ PASSWORD EXPIRE INTERVAL 30 DAY;4、用户特定策略:禁用密码过期
ALTER USER ‘testuser‘@‘localhost‘ PASSWORD EXPIRE NEVER;5、用户特定策略:使用默认的密码过期全局策略
ALTER USER ‘testuser‘@‘localhost‘ PASSWORD EXPIRE DEFAULT;三、实现方案1、禁用全局策略
在my.cnf设置:
[mysqld]default_password_lifetime=02、设置root用户及应用权限账户永不过期
select USER,HOST,account_locked,password_expired,password_lifetime,concat( ‘alter user ‘, USER, ‘@‘‘‘,host, ‘‘‘ PASSWORD EXPIRE NEVER;‘ ) ‘root_policy‘ FROMmysql.USER WHEREaccount_locked = ‘N‘;3、设置运维账号180天后过期
select USER,HOST,account_locked,password_expired,password_lifetime,concat( ‘alter user ‘, USER, ‘@‘‘‘, HOST, ‘‘‘ PASSWORD EXPIRE INTERVAL 180 DAY;‘ ) ‘ops_policy‘ FROMmysql.USER WHEREaccount_locked = ‘N‘ and user not in(‘root‘,‘dbmt‘);4、测试重启后是否生效
重启数据库后检查,符合需求。
select USER,HOST,account_locked,password_expired,password_lifetimeFROMmysql.USER WHEREaccount_locked = ‘N‘;后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!
概述今天主要介绍下MySQL数据库密码策略及用户资源限制 ,下面实验基于mysql5.7来测试。01密码策略在mysql 5.6对密码的强度进行了加强,推出了validate_password 插件。...
2024.11.12概述MySQL的字符编码结构比较细,它大方向分为两个部分:数据存储编码和数据传输编码。内容比较多,下面先简单介绍下数据存储编码~01编码层次数据存储的字符编码配置是指定数据库中存储的数据默认采用什么字...
2024.11.15前言主键,可以唯一标识表中的某一行(记录)。合理地设置主键,可以帮助我们准确、快速地找到所需要的数据记录。但是设置出正确的主键似乎并没有那么简单,请思考如下几个问题:表中的业务字段可以用来做主键吗?单...
2024.11.15对于表中已经有数据了,但是因为一些意外原因,导致表中的自增长ID不连续、或即将要超出ID长度了,在不影响表中数据的情况下,可以对表中的自增长主键ID进行重置。对如下表中的自增长ID进行重置:表中ID出...
2024.11.12开始之前,看完之后如果觉得本文写得好,请给我点赞转发加关注,谢谢。首先我们能明白,为什么要使用配置选项文件的原因答案很简单,因为每次启动服务器时,我们总不能每次在命令行上指定选项,这样的做法大大降低效...
2024.11.15