Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL 5.1.41:MySQL用户密码是否会像Oracle一样过期?_Mysql_Database_Change Password - Fatal编程技术网

MySQL 5.1.41:MySQL用户密码是否会像Oracle一样过期?

MySQL 5.1.41:MySQL用户密码是否会像Oracle一样过期?,mysql,database,change-password,Mysql,Database,Change Password,我以前从未更改过我的root用户的密码,其密码从未过期。现在我必须更改其密码,我将使用以下代码: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('StrongPassword'); SET PASSWORD FOR 'root'@'%' = PASSWORD('StrongPassword'); 密码会很快过期吗?如果是,我如何查询以了解有效期 在Oracle中,我使用 select ACCOUNT_STATUS ,USERNA

我以前从未更改过我的
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的版本和设置方式。从:

MySQL使数据库管理员能够使帐户密码过期 手动,并为自动密码过期建立策略

此外:

MySQL 5.7.4及更高版本中提供了自动密码过期功能。 mysql.user表指示每个帐户的密码是在何时使用的 最后更改,服务器会自动将密码视为 如果超过允许的时间,则在客户端连接时过期 一生。这在没有明确的手动密码过期的情况下工作


默认情况下,时间为0,因此永不过期(版本5.7.4),但5.7.10中的默认时间为360,以天为单位。如果需要,它可以设置为永不过期,不过您可以检查选项文件中的
默认密码\u生存期

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

在单个用户上,您可以运行以下操作:

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

不,它不会过期。我使用的MySQL版本是5.1.41,那么它不会过期用户的密码。我目前找不到5.1的文档,但它不太可能有选择,当然,除非你已经设置好了它,如果它可用的话