MySQL 8.0下設定密碼出現錯誤提示示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
1.當前設定值
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.02 sec)
2.修改設定
mysql -u root -p
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password.length=1;
Query OK, 0 rows affected (0.00 sec)
3.執行如下命令
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.02 sec)
4.新增使用者帳號及密碼
mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newpassword';
---------------------------------------------------------------------------------------------------------
建立可被遠端登入的使用者
MySQL的使用者可以限定其所屬主機,換句話說就是能連進來登入的主機。在一開始建立使用者的時候就要進行限定了。
例如以下SQL敘述,可以建立出只能在本地端(localhost)登入的使用者:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
而以下SQL敘述,可以建立出從192.168.100.1
主機登入的使用者:
CREATE USER 'username'@'192.168.100.1' IDENTIFIED BY 'password';
以下SQL敘述,則可以建立出從任意主機都能登入的使用者:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';