1,mysql5.6是密碼為空直接進入數據庫的,但是mysql5.7就需要初始密碼
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)