記一次mysql數(shù)據(jù)庫(kù)報(bào)錯(cuò)ERROR 1819 (HY000)問(wèn)題解決過(guò)程
瀏覽量: 次 發(fā)布日期:2023-10-07 13:10:15
記一次mysql數(shù)據(jù)庫(kù)報(bào)錯(cuò)ERROR 1819 (HY000)問(wèn)題解決過(guò)程
最近在用rpm安裝數(shù)據(jù)庫(kù)后改密碼碰到一個(gè)報(bào)錯(cuò):ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,下面簡(jiǎn)單記錄下問(wèn)題及解決過(guò)程,做個(gè)備忘!
以下基于操作系統(tǒng)centos7.3,mysql版本為5.7.24做演示。
修改密碼時(shí)發(fā)現(xiàn)報(bào)錯(cuò),報(bào)錯(cuò)如圖所示:
為了加強(qiáng)安全性,MySQL5.7為root用戶隨機(jī)生成了一個(gè)密碼,在error log中,關(guān)于error log的位置,如果安裝的是RPM包,則默認(rèn)是/var/log/mysqld.log。
在第一次登陸修改密碼時(shí)如果只是修改為一個(gè)簡(jiǎn)單的密碼,會(huì)報(bào)以下錯(cuò)誤:
mysql> ALTER USER USER() IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
這個(gè)其實(shí)與validate_password_policy的值有關(guān)。
validate_password_policy有以下取值:
默認(rèn)是1,即MEDIUM,所以剛開(kāi)始設(shè)置的密碼必須符合長(zhǎng)度,且必須含有數(shù)字,小寫或大寫字母,特殊字符。
有時(shí)候,只是為了自己測(cè)試,不想密碼設(shè)置得那么復(fù)雜,譬如說(shuō),我只想設(shè)置root的密碼為123456。
必須修改兩個(gè)全局參數(shù):
首先,修改validate_password_policy參數(shù)的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
這樣,判斷密碼的標(biāo)準(zhǔn)就基于密碼的長(zhǎng)度了。這個(gè)由validate_password_length參數(shù)來(lái)決定。
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.00 sec)
validate_password_length參數(shù)默認(rèn)為8,它有最小值的限制,最小值為:
validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)
其中,
validate_password_number_count指定了密碼中數(shù)據(jù)的長(zhǎng)度,
validate_password_special_char_count指定了密碼中特殊字符的長(zhǎng)度,
validate_password_mixed_case_count指定了密碼中大小字母的長(zhǎng)度。
這些參數(shù),默認(rèn)值均為1,所以validate_password_length最小值為4,如果你顯性指定validate_password_length的值小于4,盡管不會(huì)報(bào)錯(cuò),但validate_password_length的值將設(shè)為4。如下所示:
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
連云港數(shù)據(jù)恢復(fù)| 8 |
+----------------------------+
1 row in set (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 4 |
+----------------------------+
1 row in set (0.00 sec)
如果修改了
validate_password_number_count,
validate_password_special_char_count,
validate_password_mixed_case_count中任何一個(gè)值,則validate_password_length將進(jìn)行動(dòng)態(tài)修改。
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 4 |
+----------------------------+
1 row in set (0.00 sec)
mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
| 1 |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
| 2 |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 6 |
+----------------------------+
1 row in set (0.00 sec)
當(dāng)然,前提是validate_password插件必須已經(jīng)安裝,MySQL5.7是默認(rèn)安裝的。
浦東數(shù)據(jù)恢復(fù)那么如何驗(yàn)證validate_password插件是否安裝呢?可通過(guò)查看以下參數(shù),如果沒(méi)有安裝,則輸出將為空。
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file | |
| validate_password_length | 6 |
| validate_password_mixed_case_count | 2 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
上面已經(jīng)解釋的很清楚了,所以這里我只需要執(zhí)行:
set global validate_password_policy=0即可解決。如下所示:
修改密碼成功。
大家也可以自己測(cè)試一下,看一下mysql5.7修改密碼策略是怎樣的,后面會(huì)分享更多DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注一下~
. 聯(lián)想筆記本硬盤損壞,聯(lián)想筆記本硬盤故障排查與維修指南
. 戴爾筆記本硬盤損壞怎么辦,戴爾筆記本硬盤故障排查與修復(fù)指南
. 戴爾筆記本硬盤損壞修復(fù),戴爾筆記本硬盤故障排查與修復(fù)指南
. 達(dá)夢(mèng)數(shù)據(jù)庫(kù)和mysql區(qū)別,特性對(duì)比與選擇指南
. 移動(dòng)硬盤數(shù)據(jù)恢復(fù)多少錢一次,價(jià)格影響因素及預(yù)算指南
. 固態(tài)硬盤數(shù)據(jù)恢復(fù)多少錢一次,價(jià)格范圍與影響因素全揭秘”
. MySQL備份分類,MySQL存儲(chǔ)過(guò)程中分支語(yǔ)句有哪些
. PC3000數(shù)據(jù)恢復(fù)一次多少錢,pc3000官網(wǎng)首頁(yè)
. dell筆記本硬盤壞了,Dell筆記本硬盤壞了怎么辦?全面解析硬盤故障及數(shù)據(jù)恢復(fù)方法
. 恢復(fù)數(shù)據(jù)微信聊天記錄,微信聊天記錄丟失?教你輕松恢復(fù)!
. hp sparekeyusb恢復(fù)盤,輕松應(yīng)對(duì)忘記BIOS密碼的困境
. 舊機(jī)箱硬盤數(shù)據(jù)恢復(fù),找回珍貴記憶的秘訣
. 固態(tài)硬盤數(shù)據(jù)恢復(fù)多少錢一次啊,固態(tài)硬盤數(shù)據(jù)恢復(fù)多少錢
. u盤數(shù)據(jù)恢復(fù)多少錢一次,了解價(jià)格背后的因素
. 微信聊天記錄恢復(fù),微信聊天記錄丟失怎么辦?教你幾招輕松恢復(fù)
. 固態(tài)硬盤數(shù)據(jù)恢復(fù)多少錢一次正常
. 數(shù)據(jù)恢復(fù)大師,守護(hù)您的數(shù)字世界,找回丟失的珍貴記憶