MySQL5.7.8以降はvalidate_password
プラグインがデフォルトでインストールされるようになっており、脆弱なパスワードはプラグインによってエラーとなる。
mysql> show global variables like '%validate%'; +--------------------------------------+--------+ | 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 | +--------------------------------------+--------+
デフォルトでは
- パスワード長 8文字以上
- 大文字小文字 1文字以上
- 数字 1文字以上
- 記号 1文字以上
をパスワードに設定しないとエラーとなる。
※validate_password.policy
が MEDIUM のときは、長さ、数字、大文字小文字、記号の4項目で制約がかかる
※validate_password.policy
がLOW のときは長さのみの制約となる