mysql口令更换周期_MySQL密码过期策略介绍
上一篇文章我们介绍了如何设置Mysql的密码复杂度,其实除了设置密码复杂度策略外,我们还可以设置密码自动过期,比如说隔 90 天密码会过期必须修改密码后才能继续使用,这样我们的数据库账号就更加安全了。下面来看下怎样设置密码自动过期。
单独设置某个账号密码过期时间
使单个账号密码过期我们可以使用 ALTER USER 语句,也可以更改账号过期时间。# 通过 mysql.user 系统表查看数据库账号状态
mysql> select user,host,password_expired,password_lifetime,password_last_changed,account_locked from mysql.user;
+------------------+-----------+------------------+-------------------+-----------------------+----------------+| user | host | password_expired | password_lifetime | password_last_changed | account_locked |
+------------------+-----------+------------------+-------------------+-----------------------+----------------+| expuser | % | N | NULL | 2021-01-05 14:30:30 | N |
| root | % | N | NULL | 2020-10-30 14:45:43 | N |
| testuser | % | N | NULL | 2021-01-04 17:22:37 | N |
| mysql.infoschema | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| mysql.session | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| mysql.sys | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| root | localhost | N | NULL | 2020-10-30 14:38:55 | N |
+------------------+-----------+------------------+-------------------+-----------------------+----------------+7 rows in set (0.01 sec)
# 使 expuser 账号密码立即过期
mysql> ALTER USER 'expuser'@'%' PASSWORD EXPIRE;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,password_expired,password_lifetime,password_last_changed,account_locked from mysql.user;
+------------------+-----------+------------------+-------------------+-----------------------+----------------+| user | host | password_expired | password_lifetime | password_last_changed | account_locked |
+------------------+-----------+------------------+-------------------+-----------------------+----------------+| expuser | % | Y | NULL | 2021-01-05 14:30:30 | N |
| root | % | N | NULL | 2020-10-30 14:45:43 | N |
| testuser | % | N | NULL | 2021-01-04 17:22:37 | N |
| mysql.infoschema | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| mysql.session | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| mysql.sys | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| root | localhost | N | NULL | 2020-10-30 14:38:55 | N |
+------------------+-----------+------------------+-------------------+-----------------------+----------------+7 rows in set (0.00 sec)
# 修改账号密码永不过期
mysql> ALTER USER 'expuser'@'%' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)
# 单独设置该账号密码90天过期
mysql> ALTER USER 'expuser'@'%' PASSWORD EXPIRE INTERVAL 90 DAY;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,password_expired,password_lifetime,password_last_changed,account_locked from mysql.user;
+------------------+-----------+------------------+-------------------+-----------------------+----------------+| user | host | password_expired | password_lifetime | password_last_changed | account_locked |
+------------------+-----------+------------------+-------------------+-----------------------+----------------+| expuser | % | N | 90 | 2021-01-05 14:41:28 | N |
| root | % | N | NULL | 2020-10-30 14:45:43 | N |
| testuser | % | N | NULL | 2021-01-04 17:22:37 | N |
| mysql.infoschema | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| mysql.session | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| mysql.sys | localhost | N | NULL | 2020-10-30 14:37:09 | Y |
| root | localhost | N | NULL | 2020-10-30 14:38:55 | N |
+------------------+-----------+------------------+-------------------+-----------------------+----------------+7 rows in set (0.00 sec)
# 让此账号使用默认的密码过期全局策略
mysql> ALTER USER 'expuser'@'%' PASSWORD EXPIRE DEFAULT;
Query OK, 0 rows affected (0.01 sec)
每个账号的相关信息在mysql.user 系统表都有记录,当 password_expired 字段值为 Y 时,代表此密码已过期,使用过期密码仍可以登录,但不能进行任何操作,进行操作会提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 必须更改密码后才能进行正常操作。
对给定过期时间的账号来说,比如说设置 90 天过期,数据库系统会将当前时间与上次修改密码的时间差值作比较,如果距上次修改密码时间超过 90 天,则将此账号密码标记为过期,就必须要更改密码后才能操作。
设置全局过期策略
构建全局密码自动过期策略,我们要使用 default_password_lifetime 系统变量。在 5.7.11 版本之前,默认的 default_password_lifetime 值为 360,之后的版本默认值为 0,表示密码不会过期。此参数的单位是天,比如可以将此参数设置为 90 ,则表示全局密码自动过期策略是 90 天。# 设置全局过期策略 先手动更改再加入配置文件
mysql> SET GLOBAL default_password_lifetime = 90;
Query OK, 0 rows affected (0.01 sec)
mysql> show variables like 'default_password_lifetime';
+---------------------------+-------+| Variable_name | Value |
+---------------------------+-------+| default_password_lifetime | 90 |
+---------------------------+-------+1 row in set (0.00 sec)
# 写入配置文件使得重启生效
[mysqld]
default_password_lifetime = 90
虽然可以通过将过期的密码设置为当前值来“重置”它,但出于良好的 Policy 考虑,我们最好选择其他密码。
总结:
本篇文章主要介绍了关于数据库密码的安全策略,上一篇是密码复杂度,本篇为密码过期策略,多一份策略多一份安心。要记住:安全无小事。
mysql口令更换周期_MySQL密码过期策略介绍相关推荐
- mysql口令更换周期_Linux设置口令复杂度和口令定期更换策略
Linux 密码复杂度设置pam_pwquality.pam_passwdqc(centos7) 1.Linux对应的密码策略模块有:pam_passwdqc 和 pam_pwquality . 其中 ...
- mysql密码过期设置,mysql5.6.X和mysql8.0.X密码过期策略
mysql密码过期策略设置 关于mysql5.6.X和mysql8.0.X配置密码过期策略的学习心得 一.mysql5.6.X配置密码过期策略 网上说的方式,但这不适用于低于5.7.4版本 二.mys ...
- 涉密计算机用户登录密码多久换一次,涉密计算机口令应根据其密级进行设置并定期更换,秘密级计算机口令更换周期不得超过30天,机密级计算机口令更换周期不得超过10天 - 作业在线问答...
相关题目与解析 处理秘密级信息的计算机系统口令长度不得少于(),口令长度更换周期不得长于();处理机密级信息的 按规定,秘密级计算机身份鉴别口令长度不少于()位,应采取组成复杂.不易猜测的口令,并定期 ...
- 涉密计算机默认安全用户名,机密级涉密计算机的系统登录如采用用户名加口令的方式,则系统口令更换周期不得长于 - 作业在线问答...
相关题目与解析 机密级涉密计算机的系统登录如采用用户名加口令的方式,则系统口令更换周期不得长于______. 机密级涉密计算机的系统登录如采用用户名加口令字的方式,则系统口令字更换周期不得长于7天.( ...
- oracle密码过期策略管理
更多文章请移步:www.yanjun.pro 查看用户密码过期策略 select username,account_status,profile from dba_users; 查看配置文件中,密码有 ...
- Oracle密码过期策略
Oracle用户默认密码有效期为180天,密码过期时的处理方案: 01.查看当前所有open状态的用户 select username,account_status,expiry_date,profi ...
- mysql root密码过期了_MYSQL 密码过期解决办法
mysql5.7 关于密码问题 报错: ERROR 1862 (HY000): Your password has expired. To log in you must change it usin ...
- mysql 数据库生命周期_MySQL查询的生命周期
当你执行一次MySQL查询时,有没有仔细想过,在查询结果返回之前,经过了哪些步骤呢?这些步骤有可能消耗了超出想象的时间和资源.因此,在对MySQL的查询进行优化之前,应该了解一下MySQL查询的生命周 ...
- vCenter密码过期策略修改
背景 vcenter密码提示过期,但是修改密码时,没有发现永久不过期选项: 处理 通过官网查询,可在vc的高级配置里定义,适用于6.5-7.0的vc,如下图所示: 可搜索:VimPasswordExp ...
最新文章
- java 常见bug_java常见bug
- [python opencv 计算机视觉零基础到实战] 三、numpy与图像编辑
- Android Studio打包和引用aar
- hdu4418 概率dp+高斯消元(近日吐槽)
- 嵌入式电路设计(自己的第一个pcb电路)
- 计算机组成实验八,计算机组成原理实验八内存系统实验
- char 赋值 加入变量_王牌编程语言Java常量、变量、数据类型详解
- Security+ 学习笔记31 云计算参考架构
- CAS 配置NLB 负载均衡网络无法连接
- VMware Ubuntu虚拟机卡顿慢 解决方法大全
- Java操作Excel完成导入导出
- python-循环语句while
- Date.now()和new.Date().getTime()的区别
- 续——老机焕发青春——win8 ramos 的本地安装 (涉及vhd差分盘)
- Android的语言设置(二)
- PTE学术英语考试受全球广泛认可,2018中国考量快速增长
- 服务器系统漏洞与补丁程序,巧打补丁保护服务器安全
- 桌面云、云桌面的区别
- 文件的上传和下载(一)
- Chrome浏览器不好用?因为你没安装扩展插件
热门文章
- java代码里出现中文乱码怎么解决
- 放肆的使用UIBezierPath和CAShapeLayer画各种图形
- summit网页上的smt打不开 提示无法启动应用程序 请与应用程序供应商联系
- 全局安装gulp 报错问题解决
- 【干货】2021新消费品牌STEP增长方法论:品牌营销与生意增长Playbook.pdf(附下载链接)...
- 【报告分享】2021中国智能驾驶核心软件产业研究报告:软件定义,数据驱动.pdf(附下载链接)...
- 【报告分享】人才流动与迁徙报告2021:新经济,新选择-脉脉.pdf(附下载链接)...
- 【报告分享】迈向万亿市场的直播电商-毕马威+阿里研究院.pdf(附下载链接)...
- Ceres Solver安装
- Python实战入门到精通第一讲——函数