MySQL - パスワードの厳しいチェックを無効にする


 クラウディア


1. 概要
2. 「validate-password=OFF」ではだめなのだ
3. パスワードチェックさせない
4. 参考サイト

1. 概要

 データベースを作成して、オーナを作成したとき

mysql> GRANT ALL PRIVILEGES ON データベース.* to オーナ@localhost IDENTIFIED BY 'ゆるいパスワード';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
 ゆるいパスワードを設定しようとしてたんですけどね。

2. 「validate-password=OFF」ではだめなのだ

 参考サイトによれば。  「FreeBSD」の場合。

/usr/local/etc/mysql/my.cnf
 に。

[mysqld]

・・・	略	・・・

validate-password	=	OFF
 と書きなさいと書いておるのだが・・・。  書いて、文法チェックすると。

> /usr/local/libexec/mysqld --verbose --help > /dev/null
2019-06-04T15:31:17.202364+09:00 0 [ERROR] unknown variable 'validate-password=OFF'
2019-06-04T15:31:17.242568+09:00 0 [ERROR] Aborting
 怒られちゃうのだ。  少なくとも、FreeBSD 上ではこの手は使えない。  「Ubuntu 22.04」「mysql 8.0.43」では。

/etc/mysql/mysql.conf.d/mysqld.cnf
 に、下記の行を加えることで。

validate_password.policy = LOW
validate_password.length = 6
 制限がゆるくなり、パスワード長が 6 文字でも「OK」になります。  「mysql」で下記のコマンドを実行することでもよい。

SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 6;

3. パスワードチェックさせない

 参考サイトによれば、「FreeBSD」には下記の手があります。  以下の内容は、実際の運用時にはお勧めしません。  わたしは、試験用に、外部とはネットワークで接続されない、サーバ上でやっているだけなのでね。  「mysql」を、「root」ユーザで起動して。

mysql> uninstall plugin validate_password;
Query OK, 0 rows affected (0.05 sec)
 パスワードチェックのプラグインをアンインストールするという荒業なのだ。  この後(再起動は不要)。

mysql> GRANT ALL PRIVILEGES ON データベース.* to オーナ@localhost IDENTIFIED BY 'ゆるいパスワード';
Query OK, 0 rows affected, 1 warning (0.02 sec)
 てな感じで、ゆるいパスワードで設定することができました。

4. 参考サイト

 本ページは、「ChatGPT」軍曹および下記のサイトを参考にさせていただきました。
MySQL 5.7 で CREATE USER するときのパスワードチェックを無効にする方法」
「Mysql 5.7* パスワードを Policy に合わせるとめんどくさい件について」
「How do I turn off the mysql password validation?

EaseUS
AbemaTV 無料体験