Edited at

MySQL5.7でCREATE USERするときのパスワードチェックを無効にする方法

More than 1 year has passed since last update.

MySQL5.7で適当なパスワードでユーザーを作ろうとしようものなら容赦なく怒られた :frowning2:

$ mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';

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

・・・こんな感じ :ghost:

このチェックを無効化にする方法を調べたのでメモ。


パスワードのチェックを無効化する

チェックを無効にしたければvalidate_passwordプラグインを無効にするといいらしい。

ということで、my.cnfにvalidate-password=OFFを追記。これだけ。

$ sudo vi /etc/my.cnf


/etc/my.cnf

[mysqld]

validate-password=OFF

設定反映のためmysqlの再起動。

$ sudo systemctl restart mysqld.service

以上であります。 :cop_tone1:

確認のため適当なパスワードでユーザーを作ってみる。

$ mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';

Query OK, 0 rows affected (0.00 sec)

いけました :thumbsup_tone2:


おまけ

上記の設定を無効にする前のMySQL5.7のデフォルトのチェック内容についても調べてみたのでメモ。

とりあえず以下で設定が見れる。

$ mysql> SHOW GLOBAL VARIABLES LIKE 'validate%';

+--------------------------------------+--------+
| 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 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

設定値
説明
デフォルト値

validate_password_check_user_name
パスワードにユーザー名の一部が含まれていないか
無効

validate_password_dictionary_file
除外する文字列を定義したファイルを設定できる
未指定

validate_password_length
パスワードに必要な最小の文字数  
8文字

validate_password_mixed_case_count
パスワードに必要な小文字および大文字の最大数。 パスワードポリシーが MEDIUM以上で有効
1文字(有効)

validate_password_number_count
パスワードに必要な数値文字 (数字) の最大数。パスワードポリシーが MEDIUM以上で有効
1文字(有効)

validate_password_policy
パスワードポリシー  
MEDIUM

validate_password_special_char_count
スワードに必要な英数字以外の文字の最大数。パスワードポリシーが MEDIUM以上で有効
1文字(有効)

デフォルトはかなりガチガチ :angel_tone2:

validate_password_policy=LOWに設定すると、長さチェックだけになるみたい:writing_hand_tone2:


/etc/my.cnf

[mysqld]

validate_password_policy=LOW

参考:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html