国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

詳解MySQL的用戶密碼過期功能

2024-07-24 13:08:48
字體:
供稿:網(wǎng)友
這篇文章主要為大家詳細介紹了MySQL的用戶密碼過期功能的相關(guān)資料,需要的朋友可以參考下
 

Payment Card Industry,即支付卡行業(yè),PCI行業(yè)表示借記卡、信用卡、預(yù)付卡、電子錢包、ATM和POS卡及相關(guān)的業(yè)務(wù)。 
PCI DSS,即PCI數(shù)據(jù)安全標準(Payment Card Industry Data Security Standard)是由PCI安全標準委員會制定,旨在使國際上采用一致的數(shù)據(jù)安全措施。

PCI DSS標準要求用戶每隔90天必須更改他們的密碼。那么MySQL數(shù)據(jù)庫該怎樣適應(yīng)這個情況?幸運的是,在MySQL版本5.6.6版本起,添加了password_expired功能,它允許設(shè)置用戶的過期時間。

這個特性已經(jīng)添加到mysql.user數(shù)據(jù)表,但是它的默認值是”N”。可以使用ALTER USER語句來修改這個值。

下面是關(guān)于如何設(shè)置MySQL用戶賬號的到期日期一個簡單例子:

mysql> ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE;

一旦某個用戶的這個選項設(shè)置為”Y”,那么這個用戶還是可以登陸到MySQL服務(wù)器,但是在用戶未設(shè)置新密碼之前不能運行任何查詢語句,而且會得到如下錯誤消息提示:

mysql> SHOW DATABASES;ERROR 1820 (HY000): You must SET PASSWORD before executing this statementKeep in mind that this does not affect any current connections the account has open.

當用戶設(shè)置了新密碼后,此用戶的所有操作(根據(jù)用戶自身的權(quán)限)會被允許執(zhí)行:

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>

DBA可以通過cron定時器任務(wù)來設(shè)置MySQL用戶的密碼過期時間。

從MySQL 5.7.4版開始,用戶的密碼過期時間這個特性得以改進,可以通過一個全局變量default_password_lifetime來設(shè)置密碼過期的策略,此全局變量可以設(shè)置一個全局的自動密碼過期策略。

用法示例: 
可以在MySQL的配置文件中設(shè)置一個默認值,這會使得所有MySQL用戶的密碼過期時間都為90天,MySQL會從啟動時開始計算時間。my.cnf配置如下:

[mysqld]default_password_lifetime=90

如果要設(shè)置密碼永不過期的全局策略,可以這樣:(注意這是默認值,配置文件中可以不聲明)

[mysqld]default_password_lifetime=0

在MySQL運行時可以使用超級權(quán)限修改此配置:

mysql> SET GLOBAL default_password_lifetime = 90;Query OK, 0 rows affected (0.00 sec)

還可以使用ALTER USER命令為每個具體的用戶賬戶單獨設(shè)置特定的值,它會自動覆蓋密碼過期的全局策略。要注意ALTER USER語句的INTERVAL的單位是“天”。

ALTER USER ‘testuser'@‘localhost' PASSWORD EXPIRE INTERVAL 30 DAY;

禁用密碼過期:

ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;

讓用戶使用默認的密碼過期全局策略:

ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE DEFAULT;

從MySQL 5.7.6版開始,還可以使用ALTER USER語句修改用戶的密碼:

mysql> ALTER USER USER() IDENTIFIED BY '637h1m27h36r33K';Query OK, 0 rows affected (0.00 sec)

后記

在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.

下面創(chuàng)建一個帶賬戶鎖的用戶:

mysql> CREATE USER 'furrywall'@'localhost' IDENTIFIED BY '71m32ch4n6317' ACCOUNT LOCK;Query OK, 0 rows affected (0.00 sec)

如下所示,新創(chuàng)建的用戶在嘗試登陸時會得到一個ERROR 3118錯誤消息提示:

$ mysql -ufurrywall -pEnter password:ERROR 3118 (HY000): Access denied for user 'furrywall'@'localhost'. Account is locked.

此時就需要使用ALTER USER … ACCOUNT UNLOCK語句進行解鎖了:

mysql>ALTER USER 'furrywall'@'localhost' ACCOUNT UNLOCK;Query OK, 0 rows affected (0.00 sec)

現(xiàn)在,這個用戶已經(jīng)解鎖,可以登陸了:

$ mysql -ufurrywall -pEnter password:Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 17Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql>

還可以這樣鎖定用戶賬戶:

mysql> ALTER USER 'furrywall'@'localhost' ACCOUNT LOCK;Query OK, 0 rows affected (0.00 sec)

以上就是為大家介紹的MySQL的用戶密碼過期功能的相關(guān)內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。



注:相關(guān)教程知識閱讀請移步到MYSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西乌珠穆沁旗| 固阳县| 辉南县| 阳原县| 弥勒县| 宿松县| 左云县| 三亚市| 伽师县| 阳原县| 华坪县| 焉耆| 秭归县| 宜宾市| 南阳市| 临湘市| 清流县| 勃利县| 无为县| 宁都县| 榆中县| 江永县| 桐梓县| 扎赉特旗| 调兵山市| 东丰县| 宜城市| 剑河县| 浙江省| 江华| 衢州市| 淮滨县| 保亭| 离岛区| 沙雅县| 永平县| 肥城市| 广宗县| 鹤庆县| 新晃| 巴彦淖尔市|