【问题标题】:MySQL 5.1.41: Does the MySQL User password expire like in Oracle?MySQL 5.1.41:MySQL 用户密码是否像 Oracle 一样过期?
【发布时间】:2016-09-08 12:34:32
【问题描述】:

我之前从未更改过root 用户的密码,而且它的密码从未过期。现在我必须更改它的密码,我将使用此代码来执行此操作:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('StrongPassword');
SET PASSWORD FOR 'root'@'%' = PASSWORD('StrongPassword');

密码会很快过期吗?如果是这样,我如何查询才能知道到期日期?

在 Oracle 中,我使用

select
     ACCOUNT_STATUS
    ,USERNAME
    ,EXPIRY_DATE
from
    DBA_USERS
;

MySQL中是否有类似的东西我应该关注?

【问题讨论】:

  • 不,它不会过期。

标签: mysql database change-password


【解决方案1】:

这取决于 MySQL 的版本及其设置方式。来自MySQL docs

MySQL 使数据库管理员可以使帐户密码过期 手动设置密码自动过期策略

还有:

自动密码过期在 MySQL 5.7.4 及更高版本中可用。 mysql.user 表指示每个帐户的密码是什么时候 最后更改,服务器自动将密码视为 如果超过允许的时间,则在客户端连接时过期 寿命。这在没有显式手动密码过期的情况下有效。

默认时间为 0,因此永不过期(版本 5.7.4),但 5.7.10 中的默认值为 360,以天为单位。如果需要,它可以设置为永不过期

【讨论】:

  • 我使用的 MySQL 版本是 5.1.41
  • 那么它不会使用户的密码过期。我目前找不到 5.1 的文档,但它不太可能有这个选项,当然没有,除非你已经将它设置为有它(如果它可用)
【解决方案2】:

您可以检查default_password_lifetime的选项文件

如果您想建立全局策略,请将此参数设置为您希望密码过期的天数。

在单用户上你可以运行这个:

ALTER USER 'johndoe'@'localhost' PASSWORD EXPIRE INTERVAL 30 DAY;

【讨论】:

    猜你喜欢
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 2015-12-06
    相关资源
    最近更新 更多