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

MySQL 5.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_nameValue
validate_password_check_user_nameOFF
validate_password_dictionary_file
validate_password_length8
validate_password_mixed_case_count1
validate_password_number_count1
validate_password_policyMEDIUM
validate_password_special_char_count1

初期状態だとパスワードポリシーは 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_nameValue
validate_password_check_user_nameOFF
validate_password_dictionary_file
validate_password_length6
validate_password_mixed_case_count1
validate_password_number_count1
validate_password_policyLOW
validate_password_special_char_count1

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

最後に

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

コメントする

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