Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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

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中更改变量default\u password\u life后,是否需要运行刷新权限?_Mysql_Database_Mysql 5.7 - Fatal编程技术网

在MySQL中更改变量default\u password\u life后,是否需要运行刷新权限?

在MySQL中更改变量default\u password\u life后,是否需要运行刷新权限?,mysql,database,mysql-5.7,Mysql,Database,Mysql 5.7,MySQL在MySQL-5.7中有一个新的变量,它保存了MySQL用户的密码过期详细信息——在特定用户的密码过期多少天后 这些变量的详细信息: 当我们更改此变量时,是否需要运行刷新权限,或者更改将立即对所有具有默认过期策略的用户生效?我认为答案是否定的 因为默认的密码生命周期是一个全局变量,其中的信息存储在信息模式中。全局变量,它是一个内存引擎表 在mysql中,刷新操作导致缓冲区中的数据写回磁盘,这仅在MyISAM引擎中是必需的;但是,flush privileges子句是将数据从磁盘MyIS

MySQL在MySQL-5.7中有一个新的变量,它保存了MySQL用户的密码过期详细信息——在特定用户的密码过期多少天后

这些变量的详细信息:


当我们更改此变量时,是否需要运行刷新权限,或者更改将立即对所有具有默认过期策略的用户生效?

我认为答案是否定的

因为默认的密码生命周期是一个全局变量,其中的信息存储在信息模式中。全局变量,它是一个内存引擎表


在mysql中,刷新操作导致缓冲区中的数据写回磁盘,这仅在MyISAM引擎中是必需的;但是,flush privileges子句是将数据从磁盘MyISAM文件重新加载到内存中有关帐户和特权的相关表。

根据文档,不需要:

当客户端成功连接时,服务器将确定 帐户密码已过期:

  • 服务器检查密码是否已手动过期,如果已过期,则限制会话

  • 否则,服务器将根据自动密码过期策略检查密码是否超过其生存期。如果是,, 服务器认为密码已过期并限制会话

重要提示:更改仅对后续连接生效。

这里有一个例子:

$mysql
欢迎使用MySQL监视器。命令以结束;或\g。
您的MySQL连接id是13
服务器版本:5.7.18
版权所有(c)20002017,Oracle和/或其附属公司。版权所有。
Oracle是Oracle公司和/或其子公司的注册商标
附属公司。其他名称可能是其各自的商标
业主。
键入“帮助;”或“\h”以获取帮助。键入“\c”以清除当前输入语句。
mysql>选择@@GLOBAL.default_password_life;
+------------------------------------+
|@@GLOBAL.default\u密码\u生命周期|
+------------------------------------+
|                                  0 |
+------------------------------------+
一行一组(0.00秒)
mysql>创建用户“johndoe”@“localhost”
->使用mysql_本机_密码标识为“*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4”
->密码过期默认;
查询正常,0行受影响(0.00秒)
mysql>退出
拜伊
$mysql-u johndoe-p
输入密码:
欢迎使用MySQL监视器。命令以结束;或\g。
您的MySQL连接id是14
服务器版本:5.7.18
版权所有(c)20002017,Oracle和/或其附属公司。版权所有。
Oracle是Oracle公司和/或其子公司的注册商标
附属公司。其他名称可能是其各自的商标
业主。
键入“帮助;”或“\h”以获取帮助。键入“\c”以清除当前输入语句。
mysql>选择当前用户();
+-------------------+
|当前用户()|
+-------------------+
| johndoe@localhost |
+-------------------+
一行一组(0.00秒)
mysql>退出
拜伊
$mysql
欢迎使用MySQL监视器。命令以结束;或\g。
您的MySQL连接id是15
服务器版本:5.7.18
版权所有(c)20002017,Oracle和/或其附属公司。版权所有。
Oracle是Oracle公司和/或其子公司的注册商标
附属公司。其他名称可能是其各自的商标
业主。
键入“帮助;”或“\h”以获取帮助。键入“\c”以清除当前输入语句。
mysql>SET@@GLOBAL.default_password_life:=1;
查询正常,0行受影响(0.00秒)
mysql>选择@@GLOBAL.default_password_life;
+------------------------------------+
|@@GLOBAL.default\u密码\u生命周期|
+------------------------------------+
|                                  1 |
+------------------------------------+
一行一组(0.00秒)
mysql>现在选择();
+---------------------+
|现在()|
+---------------------+
| 2010-01-01 00:00:01 |
+---------------------+
一行一组(0.00秒)
mysql>\!日期-s“2010-01-02$(日期+%H:%M:%s)”
星期六2010年1月2日00:00:05 UTC
mysql>现在选择();
+---------------------+
|现在()|
+---------------------+
| 2010-01-02 00:00:06 |
+---------------------+
一行一组(0.01秒)
mysql>退出
拜伊
$mysql-u johndoe-p
输入密码:
欢迎使用MySQL监视器。命令以结束;或\g。
您的MySQL连接id是16
服务器版本:5.7.18
版权所有(c)20002017,Oracle和/或其附属公司。版权所有。
Oracle是Oracle公司和/或其子公司的注册商标
附属公司。其他名称可能是其各自的商标
业主。
键入“帮助;”或“\h”以获取帮助。键入“\c”以清除当前输入语句。
mysql>选择当前用户();
错误1820(HY000):在执行此语句之前,必须使用ALTER USER语句重置密码。
其他相关信息: