[精讚] [會員登入]
5283

[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

你可能感興趣的文章

[MYSQL] 設定字串欄位的預設值 新增表格的時候,字串欄位給予預設空值;數字欄位給預設數值;日期欄位給空值。

[Mysql] 建立叢集式資料庫1/4 -- 安裝及設定DB1 使用galera建立Mysql的叢集式資料庫 (GALERA CLUSTER FOR MYSQL THE TRUE MULTI-MASTER)

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

[Mysql] Mysqldump 的預設編碼 --default-character-set 有時Mysqldump 也得要指定編碼才不會造成匯出的亂碼

[MYSQL] 查看資料表狀態 要看資料表的狀態,不是結構喔,以前我都會用 procedure analyse(): SELECT `colname`

[Mysql] 資料型態int, float, double, text, char, varchar, blob大小 Mysql中資料型態int, float, text, char, varchar, blob大小

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

談借錢 人借錢時手心向上頭向下,人還錢時手心向下頭向上

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

設計的工作絕不接受比價 拿買陽春麵的價格想買牛肉麵,寧願倒掉也不賣

[NetBeans] 使用git複製別人的專案 NetBeans使用git複製別人的專案及版本控制