您好,登錄后才能下訂單哦!
這篇文章主要介紹了MySQL如何實現(xiàn)用戶密碼過期功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
從MySQL版本5.6.6版本起,添加了password_expired功能,它允許設置用戶的過期時間。
這個特性已經(jīng)添加到mysql.user數(shù)據(jù)表,但是它的默認值是”N”??梢允褂肁LTER 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.
按照以下操作執(zhí)行完后此用戶的所有操作就又會被允許執(zhí)行:
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)
重新登錄發(fā)現(xiàn)被拒絕:
[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)
感謝你能夠認真閱讀完這篇文章,希望小編分享的“MySQL如何實現(xiàn)用戶密碼過期功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。