content_image/784380.jpg content_image/784390.jpg
<img src='content_image/784380.jpg'>

## Note 

Although it is possible to “reset”  an expired password by setting it to its current value, it is preferable, as a matter of good policy, to choose a different password. DBAs can enforce non-reuse by establishing an appropriate password-reuse policy. See Password Reuse Policy. 

password_last_changed  is a TIMESTAMP  column indicating when the password was last changed. The value is non- NULL  only for accounts that use a MySQL built-in authentication plugin ( mysql_native_password , sha256_password , or caching_sha2_password ). The value is NULL  for other accounts, such as those authenticated using an external authentication system. 

password_last_changed  is updated by the CREATE USER , ALTER USER , and SET PASSWORD statements, and by GRANT  statements that create an account or change an account password. 

password_lifetime  indicates the account password lifetime, in days. If the password is past its lifetime (assessed using the password_last_changed  column), the server considers the password expired when clients connect using the account. A value of N  greater than zero means that the password must be changed every N  days. A value of 0 disables automatic password expiration. If the value is NULL  (the default), the global expiration policy applies, as defined by the default_password_lifetime  system variable. 

account_locked  indicates whether the account is locked (see Section 6.2.19, “Account Locking” ). 

Password_reuse_history  is the value of the PASSWORD HISTORY  option for the account, or NULL  for the default history. 

Password_reuse_time  is the value of the PASSWORD REUSE INTERVAL  option for the account, or NULL  for the default interval. 

Password_require_current  (added in MySQL 8.0.13) corresponds to the value of the PASSWORD REQUIRE  option for the account, as shown by the following table. 

<img src='content_image/784390.jpg'>

User_attributes  (added in MySQL 8.0.14) is a JSON-format column that stores account attributes not stored in other columns: 

• additional_password : The secondary password, if any. See Dual Password Support. 

• Restrictions : Restriction lists, if any. Restrictions are added by partial-revoke operations. The attribute value is an array of elements that each have Database  and Restrictions  keys indicating the name of a restricted database and the applicable restrictions on it (see Section 6.2.12, “Privilege Restriction Using Partial Revokes” ). 

• Password_locking : The conditions for failed-login tracking and temporary account locking, if any (see Failed-Login Tracking and Temporary Account Locking). The Password_locking  attribute is updated according to the FAILED_LOGIN_ATTEMPTS  and PASSWORD_LOCK_TIME  options of the CREATE USER  and ALTER USER  statements. The attribute value is a hash with failed_login_attempts 

