error 1819 (hy000): your password does not satisfy the current policy requirements
mysql5.7為root使用者隨機生成了乙個密碼,在error log中,關於error log的位置,如果安裝的是rpm包,則預設是/var/log/mysqld.log
怎麼找到這個隨機密碼?使用命令:
grep登入進去之後,接下來要做的是修改密碼:'temporary password
' /var/log/mysqld.log
set password for root@localhost=password('會報錯:error 1819 (hy000): your password does not satisfy the current policy requirementsabc123456
');
原因分析:
這個其實與validate_password_policy的值有關。
validate_password_policy有以下取值:
強度為low,low代表什麼?代表密碼任意,但長度在8位或以上。
強度為medium,這個強度代表什麼?代表密碼包括:數字、大寫字母、小寫字母、特殊符號、長度8位以上。
strong就不解釋了......
預設是1,即medium,所以剛開始設定的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。
解決方案如下:
step1: 更改策略,設定 validate_password_policy=0;
set global validate_password_policy=step2:重設密碼:0;
mysql>query ok, 0 rows affected, 1 warning (0.00 sec)set password for root@localhost
=password('
abc123456
');
注意:如果密碼設定為 123456,會報錯,因為密碼長度不夠,上述3中策略都要求密碼長度至少是8位。向設定密碼為123456該怎麼做?放文末再介紹。
step3: 授予root使用者遠端訪問許可權:
mysql>step4: 重新整理許可權,使設定生效, ok。grant
allprivileges
on*.*to'
root
' @'
%' identified by
'abc123456
';
mysql> flush privileges;注意:預設密碼長度是8;所以少於8位會報錯。
怎麼檢視密碼長度:
mysql>怎麼修改密碼長度:select
@@validate_password_length;
mysql>query ok, 0 rows affected (0.00 sec)set global validate_password_length=
1;
不管設定 validate_password_length=1,還是2,3,4 ,『使密碼長度生效』這個引數的實際值都是4。超過4後設定是多少實際就是多少。
額外擴充套件:
validate_password_length引數預設為8,它有最小值的限制,最小值是4。這也就是為什麼設定為1,或2,3,4時是4。
最小值公式:
其中,validate_password_number_count指定了密碼中數字的長度,
validate_password_special_char_count指定了密碼中特殊字元的長度,
validate_password_mixed_case_count指定了密碼中大小字母的長度。
use解決: 修改mysql許可權表mysql;
select host,user
from
user;
updateuser
set host='%
'where
user='
root';
flush
privileges;
重新連線成功;
安裝MySql的常見錯誤
今天安裝mysql時發現了很多問題?乙個常見的問題 counld not start the service mysql.error 0.這個問題可能是最常見的問題了.解決方案 第一 用命令列刪除myql的服務.cd c windows system32 再執行sc命令 c windows syst...
mysql安裝及常見錯誤
mysql 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir d apache2.4 mysql 設定mysql資料庫的資料的存放目錄 datadir d apache2....
MySql常見錯誤
總結一些使用mysql過程中遇到的錯誤以及解決辦法 建立表時錯誤 error121 這是外關鍵字名字重複的錯誤,即使是在不同的表中,外關鍵字的名字也不能重複。error150 這類錯誤包括3種情況 1.外來鍵和被引用外來鍵型別不一樣,比如integer和double 2.找不到要被引用的列 3.表的...