MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。

这个特性已经添加到mysql.user数据表,但是它的默认值是”N”。可以使用ALTER USER语句来修改这个值。

MySQL用户账号的到期日期一个简单例子:

mysql> ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE;

一旦某个用户的这个选项设置为”Y”,那么这个用户还是可以登陆到MySQL服务器,但是在用户未设置新密码之前不能运行任何查询语句,而且会得到如下错误消息提示:

mysql> SHOW DATABASES;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

Keep in mind that this does not affect any current connections the account has open.

当用户设置了新密码后,此用户的所有操作(根据用户自身的权限)会被允许执行。

从MySQL 5.7.4版开始,用户的密码过期时间这个特性得以改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。

用法示例:

可以在MySQL的配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为90天,MySQL会从启动时开始计算时间。my.cnf配置如下:

[mysqld]

default_password_lifetime=90

在MySQL运行时可以使用超级权限修改此配置:

mysql> SET GLOBAL default_password_lifetime = 90;

Query OK, 0 rows affected (0.00 sec)

还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。

ALTER USER ‘testuser'@‘localhost' PASSWORD EXPIRE INTERVAL 30 DAY;

禁用密码过期:

ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;

让用户使用默认的密码过期全局策略:

ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE DEFAULT;

新版本:

从MySQL 5.7.6版开始,还可以使用ALTER USER语句修改用户的密码:

mysql> ALTER USER USER() IDENTIFIED BY '637h1m27h36r33K';

Query OK, 0 rows affected (0.00 sec)

在MySQL 5.7.8版开始用户管理方面添加了锁定/解锁用户账户的新特性, related to user management is locking/unlocking user accounts when CREATE USER, or at a later time running the ALTER USER statement.

mysql> CREATE USER 'furrywall'@'localhost' IDENTIFIED BY '71m32ch4n6317' ACCOUNT LOCK;

Query OK, 0 rows affected (0.00 sec)

如下所示,新创建的用户在尝试登陆时会得到一个ERROR 3118错误消息提示:

$ mysql -ufurrywall -pEnter password:ERROR 3118 (HY000): Access denied for user 'furrywall'@'localhost'. Account is locked.

此时就需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:

mysql>ALTER USER 'furrywall'@'localhost' ACCOUNT UNLOCK;Query OK, 0 rows affected (0.00 sec)

现在,这个用户已经解锁,可以登陆了

还可以这样锁定用户账户:

mysql> ALTER USER 'furrywall'@'localhost' ACCOUNT LOCK;Query OK, 0 rows affected (0.00 sec)

转载于:https://blog.51cto.com/9548010/1742715

MySQL的用户密码过期password_expired功能相关推荐

  1. MySQL的用户密码过期功能详解

    MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...

  2. oracle用户密码不被锁,Oracle用户密码过期和用户被锁解决方法【转】

    [原因/触发因素] 确定是由于Oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. [影响和风险] 影响 密码过期后, ...

  3. mysql数据库密码有效期_Mysql5.7.19密码已过有效期的处理过程(密码过期password_expired)...

    测试环境中有使用mysql-5.7.19的版本,最近出现了一个状态:ERROR 1820 (HY000): You must reset your password using ALTER USER ...

  4. Oracle用户密码过期问题解决

    一.用户密码即将过期,导致autotrace无法打开            如果用户密码即将过期,在登录数据库时会收到如下提示:            ERROR:             ORA-2 ...

  5. php mysql 修改密码_设置及修改MySQL root用户密码

    设置及修改MySQL root用户密码 MySQL数据库用户安全策略介绍 安装mysql数据库后,默认的管理员root密码是空,这很不安全,因此需要设置一个密码 为root设置密码 删除无用的MySQ ...

  6. 关于Oracle数据库用户密码过期的预防和解决办法

    适用范围:各业务平台Oracle11g数据库 数据库软件:Oracle 故障现象: Oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天& ...

  7. Oracle用户密码过期和用户被锁解决方法【转】

    Oracle用户密码过期和用户被锁解决方法[转] 参考文章: (1)Oracle用户密码过期和用户被锁解决方法[转] (2)https://www.cnblogs.com/paul8339/p/590 ...

  8. linux路由修改密码,Linux中修改Mysql root用户密码的方法

    Linux中修改Mysql root用户密码的方法 下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来 ...

  9. oracle禁止修改密码,Oracle 用户密码过期后不允许修改密码的示例代码

    --本人是初学者,不知道还有没有更好的方法create table PASSWD_CHANGED ( USER_NAME VARCHAR2(20), OLD_PASSWD VARCHAR2(100), ...

  10. oracle用户密码已过期,oracle用户密码过期的处理方法

    oracle用户密码过期?不要紧,下面就为您介绍一个oracle用户密码过期的处理方法,供您参考,如果您对此方面感兴趣的话,不妨一看. 在测试环境学习oracle,出现oracle用户密码过期的问题, ...

最新文章

  1. PHP内核探索之变量(2)-理解引用
  2. 理解AMD ,CMD,CommonJS规范
  3. 观察者模式(Observer) 简介
  4. 数据库增删改查性能对比
  5. html中两个标签上对齐,css将两个元素水平对齐的方法(兼容IE8)
  6. 软件工程师,你的价值在哪里?
  7. java解析XML Node与Element的区别
  8. 存储过程清理N天前数据
  9. 用opencsv文件读写CSV文件
  10. FR切换sheet时隐藏参数面板
  11. 如何清空其他终端上的屏幕
  12. 【雷达通信】基于matlab Omiga-K算法SAR回波生成和成像【含Matlab源码 1184期】
  13. pringboot+校园健身互助平台 毕业设计-附源码221540S
  14. C语言必背代码大全(2021整理)
  15. 进程杀手 (prockiller)V2.82绿色版
  16. 20201228攻防世界WEB模块入门级别全详解通关记录
  17. 数据分析的重要性体现在哪?
  18. 机器学习之路一:线性模型、非线性模型、神经网络
  19. redux 常见问题
  20. 百度地图离线开发V2.0

热门文章

  1. win10网页找不到服务器dns,找不到服务器或DNS错误怎么办
  2. 苹果手机换了屏显示无服务器,苹果手机出现“无法验证此 iPhone 屏幕是正品”怎么办...
  3. 10000marker_嘉美生物-精准的DNA分子量标准 Marker。
  4. react中数组添加值,超时设置
  5. run.gps+trainer+uv+for+android,android 2.1(三星spica i5700)上的蓝牙问题配对工作但连接不起作用...
  6. svn 重新定位版本库
  7. 5种赚钱方式,设计师加薪不用靠老板!
  8. LTE 中的CQI,PMI,RI上报机制
  9. 44186818 mipi屏的艰难之旅
  10. CDH 5.14.2 server启动报错 Can't DROP FOREIGN KEY `FK_SERVICE_CONFIG_REVISION`; check that it exists