MySQL的使用者密碼過期功能介紹
從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)
這個特性已經新增到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)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2135972/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL密碼過期策略MySql密碼
- 使用者密碼過期的處理密碼
- 【Oracle】使用者密碼過期處理Oracle密碼
- oracle密碼過期Oracle密碼
- MySQL角色(role)功能介紹MySql
- wdcp後臺裡mysql的管理使用者root密碼不對或修改方法介紹MySql密碼
- tsm節點的密碼過期密碼
- Oracle資料使用者密碼過期處理方法Oracle密碼
- oracle如何修改單個使用者密碼永不過期Oracle密碼
- 使用代理通過使用者名稱和密碼驗證優缺點介紹密碼
- MySQL的Root使用者密碼MySql密碼
- Oracle密碼過期處理Oracle密碼
- 域賬戶密碼過期密碼
- Oracle使用者密碼過期和使用者被鎖解決方法Oracle密碼
- Oracle使用者密碼過期和使用者被鎖解決方法【轉】Oracle密碼
- 分組密碼的發展介紹 (轉)密碼
- Oracle 密碼永不過期設定Oracle密碼
- 密碼即將過期提示的影響密碼
- TSM Server的密碼過期 解決方法Server密碼
- 修改MySQL的root使用者的密碼MySql密碼
- chage --使用者賬戶密碼,過期時間管理工具密碼
- Oracle11g的使用者密碼預設為180天過期,更改為無期Oracle密碼
- steam密碼忘了怎麼辦 steam密碼找回方法介紹密碼
- 12c 使用者密碼已經過期,不修改密碼的情況下使其永遠使用下去密碼
- mysql如何修改root使用者的密碼MySql密碼
- mysql修改使用者密碼MySql密碼
- MySQL修改使用者密碼及重置root密碼MySql密碼
- 密碼過期引起的ssh無法登陸密碼
- MYSQL建立使用者時用密文密碼MySql密碼
- oracle密碼過期處理辦法Oracle密碼
- oracle11 密碼過期問題Oracle密碼
- MySQL使用XtraBackup的shell指令碼介紹MySql指令碼
- 通過mysqladmin為rhel4 mysql5.1 root使用者新增密碼_更改密碼MySql密碼
- MySQL主從複製配置心跳功能介紹MySql
- mysql分割槽功能、例項詳細介紹MySql
- 用Abp實現找回密碼和密碼強制過期策略密碼
- 透過示例程式碼介紹Docker部署Mysql叢集的實現DockerMySql
- MySQL資料寫入過程介紹MySql