MySQL5.7から、デフォルトでパスワードに大文字と小文字、数字、そして記号を含めないとユーザーへの追加・変更を受け付けなくなりました。
そのため、MySQL5.6以前で登録していたMySQLユーザーをそのままMySQL8.0に対して登録しようとすると、
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
といったエラーになってしまい、ユーザーの追加ができない…なんて状態になることがあります。
これを機により複雑なパスワードに変更するのも手ですが、個人的に大文字小文字の混合や桁数はまだしも、記号を入れてしまうとちょっと扱い辛過ぎてしまうので、記号のないパスワードを設定できる方法がないか調べてみました。
結果としては、MySQLのrootユーザーでログインできさえすれば、簡単に設定を変更することができました。
mysqlにrootユーザーでログインし、次のSQL文を入力します。
set global validate_password_policy = LOW;
これでポリシーのレベルが下がり、記号が含まれていないパスワードを受け付けるようになります。
なお、ポリシーレベルをLOWにすると、桁数のチェックのみしか入らなくなるため、LOWのまま本番環境を構築する場合は、なるべく予測されにくいパスワードを設定するようにしてください。
参考:
MySQL5.7 パスワードが通らないのでポリシーを変更した話 – Kiraba