• [mysql]You must reset your password using ALTER USER statement before executing this statement.


    原因分析:

      MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTER USER语句来修改这个值。 

      MySQL 5.7.4版开始,用户的密码过期时间这个特性得以改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。可以在MySQL的my.cnf配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为120天,MySQL会从启动时开始计算时间。my.cnf配置如下:

    show variables like 'default_password_lifetime';

      

    如果要设置密码永不过期,需要把default_password_lifetime修改为 0:

    set global default_password_lifetime = 0;

      

      

    如果要为每个具体的用户账户设置单独的特定值,可以使用以下命令完成(注意:此命令会覆盖全局策略),单位是“天”,命令如下:

    ALTER USER ‘xiaoming’@‘localhost' PASSWORD EXPIRE INTERVAL 250 DAY;

    如果让用户恢复默认策略,命令如下:

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

    个别使用者为了后期麻烦,会将密码过期功能禁用,命令如下:

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

      

    修改密码命令:

    alter user user() identified by "123456";

    通过修改用户密码也可使当前用户可以成功执行权限内的命令。 

  • 相关阅读:
    另一种保证单次插入回文自动机复杂度的做法
    loj #6070. 「2017 山东一轮集训 Day4」基因
    求第一类斯特林数的一行
    NOIP2018游记
    HDU3377 Plan
    【BZOJ】1830: [AHOI2008]Y型项链
    【BZOJ】1832: [AHOI2008]聚会
    【BZOJ】1831: [AHOI2008]逆序对
    【BZOJ】1085: [SCOI2005]骑士精神
    【BZOJ】1798: [Ahoi2009]Seq 维护序列seq
  • 原文地址:https://www.cnblogs.com/starfish29/p/10637081.html
Copyright © 2020-2023  润新知