[MySQL]MySQL5.7のパスワードポリシー変更方法

MySQL5.7からパスワードポリシーが強化され単純なパスワードを設定しようとすると下記のようなメッセージが出るようになりました。

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

パスワードポリシーの基準は下記の通りです。

  • 0またはLOW:長さ
  • 1またはMEDIUM:長さ; 数字、小文字/大文字、および特殊文字
  • 2またはSTRONG:長さ; 数字、小文字/大文字、および特殊文字。辞書ファイル

今回は一番パスワードポリシーのレベルが低いLOWに設定してみたいと思います。

パスワードポリシーを確認する

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

初期状態だとパスワードポリシーはMEDIUMに設定されています。

パスワードポリシーをLOWに設定する

下記のコマンドを実行してパスワードポリシーをLOWに設定します。その際、パスワードの文字列の長さも8文字から6文字に設定します。

mysql> set global validate_password_length=6;
mysql> set global validate_password_policy=LOW;

変更されたパスワードポリシーを確認する

パスワードポリシーが変更されたか確認してみます。

mysql> show variables like 'validate_password%';
Variable_name Value
validate_password_check_user_name OFF
validate_password_dictionary_file
validate_password_length 6
validate_password_mixed_case_count 1
validate_password_number_count 1
validate_password_policy LOW
validate_password_special_char_count 1

パスワードの文字列長が6文字に、パスワードポリシーがLOWに変更されました。

最後に

MySQL5.7からパスワードポリシーのルールが強化されこれまでのパスワードではエラーが表示されるようになってしまいました。開発している環境やお客さんの都合により決められたパスワードでは、エラーが出てパスワード設定できなくなる可能性も出てきてしまいますが、パスワードポリシーを変更することができればエラーも解消できるので、パスワードポリシーが変更できるということをしっかり覚えておきたいですね。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です