これは、mysql を初期化し、一時的なパスワードを使用する場合と、カスタム パスワードを変更する場合に発生します。カスタム パスワードは比較的単純であるため、パスワード ポリシーに準拠しない問題が発生します。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解決:
① mysql の初期パスワードポリシーを表示します。
mysql> SHOW VARIABLES LIKE 'validate_password%';
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| 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 |
+--------------------------------------+--------+
② まず、パスワードの検証強度レベルを設定し、validate_password_policy のグローバル パラメータを LOW に設定する必要があります。
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
③ 現在のパスワードの長さは 8 で、4 桁のパスワードに設定できます。
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
④ これで、mysql の簡単なパスワードを設定できます。
mysql> update user set authentication_string=password('123456') where user='root';
Query OK, 2 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 1
mysql> quit
Bye
⑤ mysql サービスを再起動します。
[root@nginx-dev apps]# service mysqld restart