[精讚] [會員登入]
4709

[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/MariaDB] 清除及設定 MySQL 的死連接 mysql 伺服器若有太多的連接,無疑的會耗用非常多的資源,若資源耗盡會影響新的連線,勢必要做一些調整

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

[Mysql] 修改欄位的自動索引值autoindex (auto_increment ) Mysql 新增、刪除、修改、查看欄位的自動索引值autoindex (auto_increment)

[MySQL/Mariadb] 正規表達式(regular express) mysql的正規表達式很詭異,很不能接受

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

[MySQL] console mode 的亂碼處理 使用MySQL的console mode如果出現亂碼 在,要怎麼處理?

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

沒有非誰做不可的事,也沒有不可被取代的人 沒有非誰做不可的事,也沒有不可被取代的人

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用

[札記] 2016.7~12月札記 札記,只是札記