MySQL8でパスワードポリシーを無効にしたい
最近のMySQLバージョンでは、パスワードのポリシーが厳しいため、推測されやすいパスワードは設定できません。
状況によって、パスワードポリシーをOFFにしたいケースがあるかと思いますので、パスワードポリシーを無効化する方法を記載します。
現在の設定を確認する
まず、現在の設定を確認してみます。
$ show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| 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 を見ると、ポリシーはMEDIUMになっていました。MEDIUMだと、数字を含む、大文字小文字を含む、特殊文字を含む条件を満たさないといけません。
パスワードポリシーを変更する
パスワードポリシーをLOWに変更します。パスワードの長さも8文字以上から4文字以上が設定できるようにもします。
$ vim /etc/my.conf
validate_password.policy=LOW
validate_password.length=4
confファイルに記載します。
$ systemctl restart mysqld
設定が終わったら、mysqlをrestartします。
パスワードポリシーを確認する
$ show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 4 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
変更されていることが確認できました。