程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 詳解MySQL的用戶暗碼過時功效

詳解MySQL的用戶暗碼過時功效

編輯:MySQL綜合教程

詳解MySQL的用戶暗碼過時功效。本站提示廣大學習愛好者:(詳解MySQL的用戶暗碼過時功效)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解MySQL的用戶暗碼過時功效正文


Payment Card Industry,即付出卡行業,PCI行業表現借記卡、信譽卡、預支卡、電子錢包、ATM和POS卡及相干的營業。
PCI DSS,即PCI數據平安尺度(Payment Card Industry Data Security Standard)是由PCI平安尺度委員會制訂,旨在使國際上采取分歧的數據平安辦法。

PCI DSS尺度請求用戶每隔90天必需更改他們的暗碼。那末MySQL數據庫該如何順應這個情形?榮幸的是,在MySQL版本5.6.6版本起,添加了password_expired功效,它許可設置用戶的過時時光。

這個特征曾經添加到mysql.user數據表,然則它的默許值是”N”。可使用ALTER USER語句來修正這個值。

上面是關於若何設置MySQL用戶賬號的到期日期一個簡略例子:

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

一旦某個用戶的這個選項設置為”Y”,那末這個用戶照樣可以上岸到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> 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准時器義務來設置MySQL用戶的暗碼過時時光。

從MySQL 5.7.4版開端,用戶的暗碼過時時光這個特征得以改良,可以經由過程一個全局變量default_password_lifetime來設置暗碼過時的戰略,此全局變量可以設置一個全局的主動暗碼過時戰略。

用法示例:
可以在MySQL的設置裝備擺設文件中設置一個默許值,這會使得一切MySQL用戶的暗碼過時時光都為90天,MySQL會從啟動時開端盤算時光。my.cnf設置裝備擺設以下:

[mysqld]
default_password_lifetime=90

假如要設置暗碼永不外期的全局戰略,可以如許:(留意這是默許值,設置裝備擺設文件中可以不聲明)

[mysqld]
default_password_lifetime=0

在MySQL運轉時可使用超等權限修正此設置裝備擺設:

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

還可使用ALTER USER敕令為每一個詳細的用戶賬戶零丁設置特定的值,它會主動籠罩暗碼過時的全局戰略。要留意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.

上面創立一個帶賬戶鎖的用戶:

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

以下所示,新創立的用戶在測驗考試上岸時會獲得一個ERROR 3118毛病新聞提醒:

$ mysql -ufurrywall -p
Enter 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)

如今,這個用戶曾經解鎖,可以上岸了:

$ 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> ALTER USER 'furrywall'@'localhost' ACCOUNT LOCK;
Query OK, 0 rows affected (0.00 sec)

以上就是為年夜家引見的MySQL的用戶暗碼過時功效的相干內容,願望對年夜家的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved