LoginSignup
31
38

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-06-11

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

31
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
38