mysql5.7初始化密碼報錯ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstateme

 

1,mysql5.6是密碼爲空直接進入數據庫的,可是mysql5.7就須要初始密碼
mysql

cat /var/log/mysqld.log | grep password
或者:grep 'temporary password' /var/log/mysqld.lo



2,而後執行 mysql -uroot -p ,輸入上面的到的密碼進入,用該密碼登陸後,必須立刻修改新的密碼,否則會報以下錯誤:

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.


3,若是你想要設置一個簡單的測試密碼的話,好比設置爲sztx@2018,會提示這個錯誤,報錯的意思就是你的密碼不符合要求

mysql> alter user 'root'@'localhost' identified by ‘sztx@2018';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

.
這個其實與validate_password_policy的值有關。

validate_password_policy有如下取值:
這裏寫圖片描述
默認是1,即MEDIUM,因此剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。
有時候,只是爲了本身測試,不想密碼設置得那麼複雜,譬如說,我只想設置root的密碼爲123456。
必須修改兩個全局參數:

首先,修改validate_password_policy參數的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)


validate_password_length(密碼長度)參數默認爲8,咱們修改成1

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)


4,完成以後再次執行修改密碼語句便可成功

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)sql

 

mysql5.7初始化密碼報錯ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstateme

相關文章
相關標籤/搜索