0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:MySQLでユーザー作成に失敗!?パスワードポリシーによるERROR 1819の対処法

Posted at

はじめに

MySQLで新しいユーザーを作成しようとした際、思わぬエラーが発生することがあります。

個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。

特に開発環境構築時に CREATE USER コマンドでエラー1819が出た経験があり、毎回調べ直すのを避けるために、ここに対応方法を備忘録としてまとめておきます。

書こうと思ったきっかけ

Docker上のMySQLにFlaskアプリ用ユーザーを作成しようとしたところ、パスワードが簡単すぎると判定され、ユーザー作成に失敗しました。これは validate_password プラグインの影響によるもので、初見だと戸惑うポイントでした。

エラーの内容

mysql> CREATE USER 'flaskuser'@'%' IDENTIFIED BY 'flaskpass';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

このエラーは、指定したパスワードがMySQLのセキュリティポリシーに違反していることを意味します。

解決方法

方法1:強いパスワードを使う(推奨)

MySQLが求めるパスワード要件の一例:

  • 8文字以上
  • 英大文字・小文字・数字・記号をすべて含む
CREATE USER 'flaskuser'@'%' IDENTIFIED BY 'Flask@123!';

方法2:パスワードポリシーを一時的に緩める(開発環境用)

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

その後、以下を再実行:

CREATE USER 'flaskuser'@'%' IDENTIFIED BY 'flaskpass';

※ 上記の設定はセッションごとの一時設定です。

方法3:ポリシーを永続的に変更する(非推奨/開発専用)

/etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf に以下を追記:

[mysqld]
validate-password-policy=LOW
validate-password-length=6

設定変更後は MySQL を再起動してください。

まとめ

ERROR 1819 は、MySQLのセキュリティ機能が有効に働いている証拠です。

運用環境では強いパスワードを使用することが推奨されますが、開発用環境では一時的にポリシーを緩めて作業効率を上げることも選択肢の一つです。

ポリシー緩和は計画的に使いこなしていきましょう!

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?