[精讚] [會員登入]
4946

[Mysql/Mariadb] 密碼設定強度修改

新的mysql對於密碼預設也把原來的規則改得更嚴格,此篇教你修改密碼的設定政策

分享此文連結 //n.sfs.tw/13359

分享連結 [Mysql/Mariadb] 密碼設定強度修改@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 14:12:51 最後編修
2019-06-27 14:26:56 By 張○○
 

自動目錄

新的mysql對於密碼設定多了更多的參數,預設也把原來的規則改得更嚴格,例如要8個字元、至少一個數字、一個英文字母和一個特殊符號。如果不符合規則的情況會報錯:

ERROR 1819 (HY000) Your password does not satisfy the current policy requirements

我覺得這樣很煩,想要改規則。

 

OS及作業系統版本

FreeBSD ddnss 11.2-RELEASE-p10

mysql  Ver 8.0.16 for FreeBSD11.2 on amd64 (Source distribution)

 

查看現有參數

進到MYSQL的SHELL中下指令

> show variables like '%password%';
+----------------------------------------------+-----------------+
| Variable_name                                | Value           |
+----------------------------------------------+-----------------+
| caching_sha2_password_auto_generate_rsa_keys | ON              |
| caching_sha2_password_private_key_path       | private_key.pem |
| caching_sha2_password_public_key_path        | public_key.pem  |
| default_password_lifetime                    | 0               |
| disconnect_on_expired_password               | ON              |
| mysql_native_password_proxy_users            | OFF             |
| password_history                             | 0               |
| password_require_current                     | OFF             |
| password_reuse_interval                      | 0               |
| report_password                              |                 |
| sha256_password_auto_generate_rsa_keys       | ON              |
| sha256_password_private_key_path             | private_key.pem |
| sha256_password_proxy_users                  | OFF             |
| sha256_password_public_key_path              | public_key.pem  |
| validate_password.check_user_name            | ON              |
| validate_password.dictionary_file            |                 |
| validate_password.length                     | 8               | <== 8個字元
| validate_password.mixed_case_count           | 1               | <== 大小寫字元數
| validate_password.number_count               | 1               | <== 數字數
| validate_password.policy                     | MEDIUM          | <== 強度政策
| validate_password.special_char_count         | 1               | <== 特殊字元數
+----------------------------------------------+-----------------+
21 rows in set (0.00 sec)

 

其中的強度政策牽涉到會檢查的項目,有三種政策:

0 /LOW 只檢查長度
1 /MEDIUM 檢查長度、英文、數字、特殊字元要照表操課
2 /STRONG 除了上面以外,還要檢查是否是字典檔的字

 

修改規則

基本上只要修改最小長度為4,還有把政策調整為LOW即可,長度的最小值是4,設比4小的話還是會是4。

強度政策調低後,其他的項目可以不必理會

> set global validate_password.policy=0;
> set global validate_password.length=4;
> set global validate_password.special_char_count =0;

調整後規則

| validate_password.length                     | 4               |
| validate_password.mixed_case_count           | 1               |
| validate_password.number_count               | 1               |
| validate_password.policy                     | LOW             |
| validate_password.special_char_count         | 0               |

 

測試

直接修改密碼試試。

Mysql 8修改密碼的方式有變更,原本的password 函數作廢。

要用 alter user 的方法來改

> use mysql;
Database changed
> ALTER USER 'axer'@'localhost' identified BY '123456';
Query OK, 0 rows affected (0.01 sec) <== 成功

 

參考資料

[1] Alvin's Blog 部落格

[2] http://www-creators.com/archives/5574

[3] https://www.opencli.com/mysql/mysql-change-user-password

END

你可能感興趣的文章

[MariaDB] Centos 7安裝mariadb + apache + php + phpmyadmin Centos 7安裝mariadb+apache+php+phpmyadmin

[Mysql] 使用union合併兩個表 mysql合併兩個表的方法,使用union

[Mysql/Mariadb] 忘記root密碼 常常會忘記root 密碼,簡單的幾步驟回復

Mysql 安裝完畢要做的事 Mysql 安裝完畢後,該處理的流程

[MySQL] FIND_IN_SET函數,把多筆條件判斷弄成字串 SQL 我們如果要查找某個欄位是否為某個值的時候,如果要判斷的條件很多,可以用這個函數

[MYSQL] 把SELECT的結果UPDATE到表中 Mysql update select 出來的結果,一次完成

隨機好文

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…

Smarty安裝 smarty 是著名的樣版引擎,非常的好用,用多了突然發現拿掉smarty反而不會寫php了,以下是安裝過程..

精讚的版面變化 ▓此文僅作為舊文的記錄▓ 這篇文章為了紀念改版完成而撰寫。 原本的部落格是民國97年的作品,那時還是用舊有的技術來寫,很