概要
MySQLでユーザーのパスワードを設定する際に、その長さや使われるべき文字数などについて求める内容を設定できる。設定内容は以下のとおり。
- ポリシー:長さ、文字種類、辞書のいずれを使うか
- 最小長さ
- 大文字・小文字の最小数
- 数字の最小数
- 記号の最小数
- 辞書ファイルへのパス
パスワード検証の確認
現在のパスワード検証の内容は以下で確認できる。
SHOW VARIABLES LIKE 'validate_password%';
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | mysql> 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      | +--------------------------------------+--------+ 7 rows in set (0.00 sec) | 
それぞれの指定内容は以下のとおり。
- check_user_name
- ユーザー名と一致する場合に拒否するかどうか。
- dictionary_file
- パスワードチェックに用いる辞書へのパス。デフォルトでは空で辞書チェックは行われない。
- length
- パスワードの最小文字数。
- mixed_case_count
- パスワードポリシーがMEDIUM以上の場合に求める大文字・小文字の最小数。
- number_count
- 
- パスワードポリシーがMEDIUM以上の場合に求める数字の最小数
 
- パスワードポリシーが
- policy
- LOW(0):長さのみ
 MEDIUM(1):長さ、数値・大文字・小文字・特殊文字
 STRONG(2):長さ、数値・大文字・小文字・特殊文字、辞書ファイル
- special_char_count
- ポリシーがMEDIUM以上の場合に求める記号の最小数。
パスワード検証内容の変更
それぞれの検証内容は、対応する変数の値をセットすることで変更する。
パスワードポリシー
SET GLOBAL validate_password.policy=LOW/MEDIUM/STRONG;
最小長さ
SET GLOBAL validate_password.length=最小長さ;
など。