Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
39
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
39
Help us understand the problem. What are the problem?