共計 1978 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要介紹了 MySQL 如何實現用戶密碼過期功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
從 MySQL 版本 5.6.6 版本起,添加了 password_expired 功能,它允許設置用戶的過期時間。
這個特性已經添加到 mysql.user 數據表,但是它的默認值是”N”??梢允褂?ALTER USER 語句來修改這個值。
例如:
mysql ALTER USER mdba@ localhost PASSWORD EXPIRE;
Query OK, 0 rows affected (0.04 sec)
在用戶未設置新密碼之前不能運行任何查詢語句,而且會得到如下錯誤消息提示:
mysql show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
按照以下操作執行完后此用戶的所有操作就又會被允許執行:
mysql alter user mdba@localhost identified by Aisino123!
Query OK, 0 rows affected (0.03 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.04 sec)
mysql show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| sys |
+——————–+
4 rows in set (0.00 sec)
在 MySQL 5.7.8 版開始用戶管理方面添加了鎖定 / 解鎖用戶賬戶的新特性
例如:
mysql alter user mdba@localhost account lock;
Query OK, 0 rows affected (0.04 sec)
重新登錄發現被拒絕:
[root@localhost ~]# mysql -u mdba -p
Enter password:
ERROR 3118 (HY000): Access denied for user mdba @ localhost . Account is locked.
解鎖后恢復正常:
mysql alter user mdba@localhost account unlock;
Query OK, 0 rows affected (0.03 sec)
[root@localhost ~]# mysql -u mdba -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 942539
Server version: 5.7.17-debug-log Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type help; or \h for help. Type \c to clear the current input statement.
mysql
從 MySQL 5.7.4 版開始,用戶的密碼過期時間這個特性得以改進,可以通過一個全局變量 default_password_lifetime 來設置密碼過期的策略,
此全局變量可以設置一個全局的自動密碼過期策略。
在 MySQL5.7 的配置文件中設置一個默認值,這會使得所有 MySQL 用戶的密碼過期時間都為 90 天,MySQL 會從啟動時開始計算時間。
例如在 my.cnf 里添加:
[mysqld]
default_password_lifetime=90
這會使得所有 MySQL 用戶的密碼過期時間都為 90 天,MySQL 會從啟動時開始計算時間。
如果要設置密碼永不過期的全局策略,可以設置 default_password_lifetime=0,或者在命令行設置:
mysql SET GLOBAL default_password_lifetime = 0;
Query OK, 0 rows affected (0.00 sec)
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“MySQL 如何實現用戶密碼過期功能”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!