ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
エラー全文
mysql> ALTER USER 'app'@'localhost' IDENTIFIED BY 'password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
MySQL に同梱されている validate_password (8.0+ は component_validate_password) プラグインが、指定したパスワードを「要件不足」と判断したときに出ます。CREATE USER / ALTER USER / SET PASSWORD すべてで発生します。
現在のポリシーを確認する
SHOW VARIABLES LIKE 'validate_password%';
-- MySQL 8.0 以降はピリオド付き
SHOW VARIABLES LIKE 'validate_password.%';
-- 主要項目の意味
-- validate_password.policy : 厳しさ LOW/MEDIUM/STRONG (0/1/2)
-- validate_password.length : 最低長 (デフォルト 8)
-- validate_password.mixed_case_count : 大小英字の最低数 (MEDIUM 以上で 1)
-- validate_password.number_count : 数字の最低数 (MEDIUM 以上で 1)
-- validate_password.special_char_count : 特殊文字の最低数 (MEDIUM 以上で 1)
-- validate_password.dictionary_file : 辞書ファイル (STRONG で利用)
ポリシーレベル
| レベル | 値 | 要件 |
|---|---|---|
| LOW | 0 | 長さ のみ (デフォルト 8 文字) |
| MEDIUM (default) | 1 | 長さ + 大小英字 + 数字 + 特殊文字 |
| STRONG | 2 | MEDIUM + 辞書ファイルにある単語を含まない |
対処1: ポリシーを緩和
開発環境などで短いパスワードを使いたい場合:
-- MySQL 8.0+
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 4;
-- MySQL 5.7
SET GLOBAL validate_password_policy = LOW;
SET GLOBAL validate_password_length = 4;
-- 設定後にパスワード変更
ALTER USER 'app'@'localhost' IDENTIFIED BY 'abcd';
-- 永続化したい場合は my.cnf に
-- [mysqld]
-- validate_password.policy = LOW
-- validate_password.length = 4
本番では絶対に使わないでください。
対処2: 強いパスワードに変更
MEDIUM のままでも以下のような値なら通ります:
通る例
Pa$$w0rd2024 (大小 + 数字 + 記号 + 12 文字)
Aa1!Aa1!Aa1! (繰り返しでも判定は通る)
Tar0_Suzuki! (英字 + 数字 + 記号)
通らない例
password (短い + 大文字無 + 数字無 + 記号無)
abcdefgh (大文字無 + 数字無 + 記号無)
P@ssword (数字無)
Pa$$word (数字無)
パスワード強度は SQL でも事前に評価できます:
-- 0=弱, 25, 50, 75, 100 のいずれかが返る
SELECT VALIDATE_PASSWORD_STRENGTH('Pa$$w0rd2024');
-- 100 (= 強)
SELECT VALIDATE_PASSWORD_STRENGTH('password');
-- 25 (= 弱)
対処3: 検証プラグインを無効化
どうしても外したい場合 (社内 DB / 検証環境のみ):
-- MySQL 8.0+ (Component 方式)
UNINSTALL COMPONENT 'file://component_validate_password';
-- MySQL 5.7 (Plugin 方式)
UNINSTALL PLUGIN validate_password;
-- 再有効化
INSTALL COMPONENT 'file://component_validate_password';
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
パスワード変更コマンド一覧
-- 8.0+ 推奨構文
ALTER USER 'user'@'localhost' IDENTIFIED BY 'Pa$$w0rd2024';
-- 5.7 でも動く
SET PASSWORD FOR 'user'@'localhost' = 'Pa$$w0rd2024';
-- 自分自身のパスワード
ALTER USER USER() IDENTIFIED BY 'Pa$$w0rd2024';
-- 認証プラグイン指定 (8.0+ デフォルトは caching_sha2_password)
ALTER USER 'user'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'Pa$$w0rd2024';
初回 root パスワード設定でハマるパターン
MySQL を新規インストールした直後の root には一時パスワードが設定されており、最初のログイン時に変更を求められます。このとき validate_password が有効なので、弱い PW を入れるとエラーになります。
# 一時パスワードを取得
sudo grep 'temporary password' /var/log/mysqld.log
# A temporary password is generated for root@localhost: xxxxx
# ログイン後、まず強いパスワードに変更
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pa$$w0rd2024';
# その後でポリシーを必要に応じて緩和
mysql> SET GLOBAL validate_password.policy = LOW;
関連エラー
| エラー番号 | 意味 |
|---|---|
| ERROR 1819 (HY000) | 本記事 — パスワード強度不足 |
| ERROR 1820 (HY000) | パスワード変更必須 (期限切れ) |
| ERROR 1133 (42000) | そのユーザー名・ホストが存在しない |
| ERROR 1396 (HY000) | CREATE USER 失敗 (既存ユーザー) |
FAQ
Q: my.cnf に書いて再起動しても反映されない
A: MySQL 8.0 はピリオド形式 validate_password.policy、5.7 はアンダースコア validate_password_policy。バージョンによって書き方が違います。
Q: GRANT 文の中でパスワード設定したい
A: 8.0 では非推奨。CREATE USER ... IDENTIFIED BY ... でユーザー作成 → GRANT ... ON ... TO 'user'@'host' の 2 段階に分けます。
Q: 緩和したのにエラーが続く
A: SET GLOBAL は新規セッションから有効。現在のセッションで再ログインするか、SET SESSION も併用してください。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- 1071 Specified key was too long; max key length is 767 bytes
- ERROR 1063 (42000): Incorrect column specifier for column '~'
- mysqld: Can't change dir to '...\MySQL\MySQL Server X.X\data\' (OS errno 2 - No such file or directory)
- Install/Remove of the Service Denied!
- Datetime 型が NULL に見える
- Warning: World-writable config file '/etc/mysql/my.cnf' is ignored
- ERROR 1698 (28000): Access denied for user 'root'@'localhost'
- Exception: Wrong MySQL configuration
- [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
- ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- Incorrect column specifier for column 'カラム名'
- BLOB/TEXT column 'description' used in key specification without a key length
- ERROR: /bin/sh: mysql_config: コマンドが見つかりません
- Host '...' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
- CSVエクスポート時に「ERROR 1045 (28000): Access denied for user 'username'@'localhost'」エラーが表示される
- Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT
- SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ~
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?