95675
MySQLのrootユーザーの新しいパスワードを設定をするために  
[9.4 Securing the Initial MySQL Account](https://dev.mysql.com/doc/mysql-
installation-excerpt/8.0/en/default-privileges.htmlm)と[AWS EC2 AmazonLinux2
MySQLを使えるようにする](https://qiita.com/miriwo/items/c0ba0ff17c329700fc9e)を参考にして、新しいパスワード設定を行っていたのですが、`mysql>
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root-user';`と入力したのですが、`error 1819
(hy000): your password does not satisfy the current policy
requirements`と表示され,mysqlのパスワードポリシーに引っ掛かり、新しいパスワードに変更することが出来ませんでした。

[AWS EC2 AmazonLinux2
MySQLを使えるようにする](https://qiita.com/miriwo/items/c0ba0ff17c329700fc9e)のパスワードの再設定の箇所を見ますと、`mysql>
ALTER USER 'root'@'localhost' identified BY
'大文字、小文字、特殊文字(アスタリスク等)を含む新しいrootユーザのパスワード';`と書かれていました。  
そうなるとRoot-userはパスワードポリシーに引っ掛からないと思ったのですが、どこがパスワードポリシーに引っ掛かったのでしょうか？

MySQLバージョン：mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)
CC BY-SA 4.0
2023-07-18T09:01:13.180
95672
2023-07-18T11:33:31.807
58130
question
mysql
MySQLの新しいパスワード設定の際のパスワードポリシー
パスワードに数字も一桁以上含めてみてください。

**参考:**  
[Mysql 5.7*
パスワードをPolicyに合わせるとめんどくさい件について](https://qiita.com/keisukeYamagishi/items/d897e5c52fe9fd8d9273)
CC BY-SA 4.0
2023-07-18T09:26:12.943
95674
2023-07-18T09:26:12.943
3060
95672
answer
わからないときは、公式のドキュメントを探して、確認するようにしてください。公式ドキュメント以外は **嘘**
が書かれていることがあります。(希に公式でも嘘がありますが、それはドキュメントの不備とみなされます。)

[mysql パスワードポリシー site:mysql.com - Google
検索](https://www.google.com/search?q=mysql+%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC+site%3Amysql.com)

上記のように検索すれば、下記サイトがすぐに見つかります。

[MySQL :: MySQL 8.0 リファレンスマニュアル :: 6.4.3
パスワード検証コンポーネント](https://dev.mysql.com/doc/refman/8.0/ja/validate-
password.html)

※ 上記は機械翻訳のため、日本語が怪しい所があります。より確実に理解したい場合は、英語版をお読みください。

validate_passwordコンポーネントがインストールされている場合、デフォルトではMEDIUMポリシーが適用されます。各ポリシーでの要件や設定値は下記の通りです。

  * LOW 
    * ユーザー名と同じでは無い。`validate_password=ON`
    * パスワードの長さが8文字以上。`validate_password.length=8`
  * MEDIUM (LOWの条件に追加して) 
    * 数字が1文字以上。`validate_password.number_count=1`
    * 小文字と大文字がそれぞれ1文字以上。`validate_password.mixed_case_count=1`
    * 英数字以外が1文字以上。`validate_password.special_char_count=1`
  * STRONG (MEDIUMの条件に追加して) 
    * 辞書ファイル内の単語と一致する部分文字列が無い。辞書は`validate_password.dictionary_file`で指定する。

"Root-user"という文字列には数字が含まれていませんので、「数字が1文字以上。」という要件をみなさないため、拒否されることになります。

より詳しい動作は、公式ドキュメントをお読みください。
CC BY-SA 4.0
2023-07-18T09:44:29.987
95675
2023-07-18T11:33:31.807
2023-07-18T11:33:31.807
7347
7347
95672
answer