[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";

通過修改用戶密碼也可使當前用戶可以成功執行權限內的命令。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM