[精讚] [會員登入]
5373

[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] Mysqldump 的預設編碼 --default-character-set 有時Mysqldump 也得要指定編碼才不會造成匯出的亂碼

[Mysql] 建立叢集式資料庫3/4 -- DB1設置及DB PROXY 使用galera建立Mysql的叢集式資料庫 ,繼續修正第1DB及運作PROXY

[Docker] Mariadb-Galera出現Incorrect definition of table mysql.column_stats:'hist_type'及 'histogram' 使用docker的Mariadb-galera出現'hist_type'及 'histogram'型別錯誤的解決方法。

[Mysql/MariaDB] 加解密函數 Mysql/MariaDB上的加解密函數

[Mysql/Mariadb] 利用phpMyAdmin 建立關聯式資料表 利用phpMyAdmin 建立關聯式資料表

[Mysql] 使用索引來加速搜尋 只要是常常用到搜索條件的欄位,就應該把它設成索引鍵,有無設定的速度差可能會好幾倍

隨機好文

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

「許功蓋」的字以及源由 有玩過電腦一段時間的人,都聽過這個人(有一天我才發現7年級的竟然都不認識這個

最值得學的電腦技能 什麼是最值得學的電腦技能?程式設計?美工繪圖?系統網路?還是…? 都不是!個人覺得一個最值得學的電腦技能就

[PHP]解決ksort新增的SORT_NATURAL|SORT_FLAG_CASE方法 php>=5.4中ksort函數多了SORT_NATURAL 和 SORT_FLAG_CASE 旗標,對舊版的PHP中要怎麼辦?

安裝網頁套件管理程式 Bower 一個非常棒的Javascript套件管理程式bower,用完愛不釋手。