《Mysql學(xué)習(xí)詳解MySQL的用戶密碼過期功能》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)詳解MySQL的用戶密碼過期功能,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
MYSQL教程Payment Card Industry,即支付卡行業(yè),PCI行業(yè)表示借記卡、信用卡、預(yù)付卡、電子錢包、ATM和POS卡及相關(guān)的業(yè)務(wù).
PCI DSS,即PCI數(shù)據(jù)平安標(biāo)準(zhǔn)(Payment Card Industry Data Security Standard)是由PCI平安標(biāo)準(zhǔn)委員會(huì)制定,旨在使國(guó)際上采用一致的數(shù)據(jù)平安措施.
MYSQL教程PCI DSS標(biāo)準(zhǔn)要求用戶每隔90天必須更改他們的暗碼.那么MySQL數(shù)據(jù)庫該怎樣適應(yīng)這個(gè)情況?幸運(yùn)的是,在MySQL版本5.6.6版本起,添加了password_expired功能,它允許設(shè)置用戶的過期時(shí)間.
MYSQL教程這個(gè)特性已經(jīng)添加到mysql.user數(shù)據(jù)表,但是它的默認(rèn)值是”N”.可以使用ALTER USER語句來修改這個(gè)值.
MYSQL教程下面是關(guān)于如何設(shè)置MySQL用戶賬號(hào)的到期日期一個(gè)簡(jiǎn)單例子:
MYSQL教程
mysql> ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE;
MYSQL教程一旦某個(gè)用戶的這個(gè)選項(xiàng)設(shè)置為”Y”,那么這個(gè)用戶還是可以登陸到MySQL服務(wù)器,但是在用戶未設(shè)置新暗碼之前不能運(yùn)行任何查詢語句,而且會(huì)得到如下錯(cuò)誤消息提示:
MYSQL教程
mysql> SHOW DATABASES;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
Keep in mind that this does not affect any current connections the account has open.
MYSQL教程當(dāng)用戶設(shè)置了新暗碼后,此用戶的所有操作(根據(jù)用戶自身的權(quán)限)會(huì)被允許執(zhí)行:
MYSQL教程
mysql> SET PASSWORD=PASSWORD('mechipoderranen');
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| data |
| logs |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
mysql>
MYSQL教程DBA可以通過cron定時(shí)器任務(wù)來設(shè)置MySQL用戶的暗碼過期時(shí)間.
MYSQL教程從MySQL 5.7.4版開始,用戶的暗碼過期時(shí)間這個(gè)特性得以改進(jìn),可以通過一個(gè)全局變量default_password_lifetime來設(shè)置暗碼過期的策略,此全局變量可以設(shè)置一個(gè)全局的自動(dòng)暗碼過期策略.
MYSQL教程用法示例:
可以在MySQL的配置文件中設(shè)置一個(gè)默認(rèn)值,這會(huì)使得所有MySQL用戶的暗碼過期時(shí)間都為90天,MySQL會(huì)從啟動(dòng)時(shí)開始計(jì)算時(shí)間.my.cnf配置如下:
MYSQL教程
[mysqld]
default_password_lifetime=90
MYSQL教程如果要設(shè)置暗碼永不過期的全局策略,可以這樣:(注意這是默認(rèn)值,配置文件中可以不聲明)
MYSQL教程
[mysqld]
default_password_lifetime=0
MYSQL教程在MySQL運(yùn)行時(shí)可以使用超級(jí)權(quán)限修改此配置:
MYSQL教程
mysql> SET GLOBAL default_password_lifetime = 90;
Query OK, 0 rows affected (0.00 sec)
MYSQL教程還可以使用ALTER USER命令為每個(gè)具體的用戶賬戶單獨(dú)設(shè)置特定的值,它會(huì)自動(dòng)覆蓋暗碼過期的全局策略.要注意ALTER USER語句的INTERVAL的單位是“天”.
MYSQL教程
ALTER USER ‘testuser'@‘localhost' PASSWORD EXPIRE INTERVAL 30 DAY;
MYSQL教程禁用暗碼過期:
MYSQL教程
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;
MYSQL教程讓用戶使用默認(rèn)的暗碼過期全局策略:
MYSQL教程
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE DEFAULT;
MYSQL教程從MySQL 5.7.6版開始,還可以使用ALTER USER語句修改用戶的暗碼:
MYSQL教程
mysql> ALTER USER USER() IDENTIFIED BY '637h1m27h36r33K';
Query OK, 0 rows affected (0.00 sec)
MYSQL教程后記
MYSQL教程在MySQL 5.7.8版開始用戶管理方面添加了鎖定/解鎖用戶賬戶的新特性, related to user management is locking/unlocking user accounts when CREATE USER, or at a later time running the ALTER USER statement.
MYSQL教程下面創(chuàng)建一個(gè)帶賬戶鎖的用戶:
MYSQL教程
mysql> CREATE USER 'furrywall'@'localhost' IDENTIFIED BY '71m32ch4n6317' ACCOUNT LOCK;
Query OK, 0 rows affected (0.00 sec)
MYSQL教程如下所示,新創(chuàng)建的用戶在嘗試登陸時(shí)會(huì)得到一個(gè)ERROR 3118錯(cuò)誤消息提示:
MYSQL教程
$ mysql -ufurrywall -p
Enter password:
ERROR 3118 (HY000): Access denied for user 'furrywall'@'localhost'. Account is locked.
MYSQL教程此時(shí)就需要使用ALTER USER … ACCOUNT UNLOCK語句進(jìn)行解鎖了:
MYSQL教程
mysql>ALTER USER 'furrywall'@'localhost' ACCOUNT UNLOCK;
Query OK, 0 rows affected (0.00 sec)
MYSQL教程現(xiàn)在,這個(gè)用戶已經(jīng)解鎖,可以登陸了:
MYSQL教程
$ mysql -ufurrywall -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 17
Server version: 5.7.8-rc MySQL Community Server (GPL)
Copyright (c) 2000, 2015, 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教程還可以這樣鎖定用戶賬戶:
MYSQL教程
mysql> ALTER USER 'furrywall'@'localhost' ACCOUNT LOCK;
Query OK, 0 rows affected (0.00 sec)
MYSQL教程以上就是為大家介紹的MySQL的用戶暗碼過期功能的相關(guān)內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助.
《Mysql學(xué)習(xí)詳解MySQL的用戶密碼過期功能》是否對(duì)您有啟發(fā),歡迎查看更多與《Mysql學(xué)習(xí)詳解MySQL的用戶密碼過期功能》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/8082.html