ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ALTER USER とは
ALTER USER は MySQL で既存ユーザーの属性を変更する SQL 文です。パスワード、認証方式、アカウントロック、パスワード期限ポリシー、接続制限など、ユーザーに関するほぼ全ての設定を変更できます。
MySQL 5.7.6 以降はパスワード変更も ALTER USER が公式推奨で、古い SET PASSWORD や UPDATE mysql.user は非推奨です。
基本構文
ALTER USER 'ユーザー名'@'ホスト'
[IDENTIFIED [WITH 認証プラグイン] BY 'パスワード']
[REQUIRE 接続要件]
[WITH リソース制限]
[PASSWORD EXPIRE 期限指定]
[ACCOUNT LOCK | ACCOUNT UNLOCK];
1. パスワードを変更する
-- 別ユーザーのパスワードを変更 (要権限)
ALTER USER 'alice'@'localhost' IDENTIFIED BY 'NewP@ss1';
-- 現在ログイン中のユーザー自身のパスワード変更
ALTER USER USER() IDENTIFIED BY 'NewP@ss1';
-- 複数まとめて変更
ALTER USER
'alice'@'localhost' IDENTIFIED BY 'newpw1',
'bob'@'%' IDENTIFIED BY 'newpw2';
2. 認証プラグインを変更する
MySQL 8.0 のデフォルトは caching_sha2_password。古いアプリでは mysql_native_password が必要な場合があります。
-- caching_sha2_password に変更 (推奨)
ALTER USER 'alice'@'localhost'
IDENTIFIED WITH caching_sha2_password BY 'StrongP@ss1';
-- 古いアプリ向けに mysql_native_password へ変更
ALTER USER 'legacy'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'pw';
| プラグイン | 特徴 |
|---|---|
caching_sha2_password | MySQL 8.0 既定。SHA-256 ベース。推奨 |
mysql_native_password | 5.7 互換。古いクライアント向け。MySQL 8.4 で削除予定 |
sha256_password | SHA-256 だがキャッシュなし。実用上 caching_sha2 推奨 |
auth_socket | OS のソケット認証。Linux ローカル運用に便利 |
3. アカウントのロック / アンロック
-- ログイン不可にする (退職者対応など)
ALTER USER 'alice'@'localhost' ACCOUNT LOCK;
-- ロック解除
ALTER USER 'alice'@'localhost' ACCOUNT UNLOCK;
削除(DROP USER)すると即座に消えますが、ロックなら履歴と権限は残ったままログインだけ無効化できます。一時退職、長期休暇、調査中の措置などに有用。
4. パスワード期限ポリシー
-- 即時期限切れにする (次回ログイン時に変更必須)
ALTER USER 'alice'@'localhost' PASSWORD EXPIRE;
-- 90 日ごとに変更を強制
ALTER USER 'alice'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
-- 期限なし
ALTER USER 'alice'@'localhost' PASSWORD EXPIRE NEVER;
-- グローバル設定に従う
ALTER USER 'alice'@'localhost' PASSWORD EXPIRE DEFAULT;
5. パスワード履歴・再利用禁止 (MySQL 8.0+)
-- 過去 5 件と同じパスワードは使えない
ALTER USER 'alice'@'localhost' PASSWORD HISTORY 5;
-- 過去 365 日以内に使ったパスワードは使えない
ALTER USER 'alice'@'localhost' PASSWORD REUSE INTERVAL 365 DAY;
-- パスワード変更時に現行パスワードを必須にする
ALTER USER 'alice'@'localhost' PASSWORD REQUIRE CURRENT;
6. SSL / TLS の強制
-- SSL 接続を必須にする
ALTER USER 'alice'@'%' REQUIRE SSL;
-- 認証局つき SSL
ALTER USER 'alice'@'%' REQUIRE X509;
-- 暗号化要件をリセット
ALTER USER 'alice'@'%' REQUIRE NONE;
7. リソース制限
ALTER USER 'alice'@'%'
WITH
MAX_QUERIES_PER_HOUR 1000
MAX_UPDATES_PER_HOUR 100
MAX_CONNECTIONS_PER_HOUR 50
MAX_USER_CONNECTIONS 5;
| 項目 | 意味 |
|---|---|
MAX_QUERIES_PER_HOUR | 1 時間あたり実行可能なクエリ総数 |
MAX_UPDATES_PER_HOUR | 1 時間あたり実行可能な更新クエリ数 |
MAX_CONNECTIONS_PER_HOUR | 1 時間あたり可能な接続回数 |
MAX_USER_CONNECTIONS | 同時接続数の上限 |
8. ロール (MySQL 8.0+) のデフォルト指定
-- ログイン時に自動的にアクティブになるロール
ALTER USER 'alice'@'localhost' DEFAULT ROLE 'app_read', 'app_write';
-- 全ロールをデフォルト
ALTER USER 'alice'@'localhost' DEFAULT ROLE ALL;
変更内容の確認
-- ユーザー一覧
SELECT user, host, account_locked, password_expired, password_lifetime
FROM mysql.user;
-- GRANT 状態(権限つき)
SHOW GRANTS FOR 'alice'@'localhost';
-- 自分自身
SHOW GRANTS;
FAQ
Q: SET PASSWORD と ALTER USER どちらを使う?
A: MySQL 5.7.6 以降は必ず ALTER USER。SET PASSWORD は非推奨。
Q: 自分のパスワードを変えたい
A: ALTER USER USER() IDENTIFIED BY '新パス';。USER() は今ログイン中のユーザー。
Q: パスワードを忘れた
A: --skip-grant-tables で起動 → SQL でリセット → 通常モードで再起動。本番では危険なので慎重に。
Q: Oracle の ALTER USER と違う点
A: 構文は似ているが、MySQL はホスト指定が必須 ('user'@'host')、Oracle はユーザー名のみ。デフォルトテーブルスペースなど Oracle 固有項目はない。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 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アノテーションとは
最近更新/作成されたページ
- UE5のEvent Tickノードの使い方|毎フレーム処理とDelta Seconds 2026-06-13 13:26:37
- UE5のレベルブループリントでキャラクターをスポーンさせる方法 2026-06-13 13:26:37
- UE5のビューポートの使い方|視点操作・ビューモード・投影の基本 2026-06-13 13:26:36
- Reactのよくあるエラーと対処まとめ|環境構築・npm関連 2026-06-13 13:26:36
- UE5でAI Move ToがBlockedで失敗する原因と対処方法|NavMesh確認 2026-06-13 13:26:36
- C++のコンパイルと実行方法|g++の使い方とオプション 2026-06-13 13:26:35
- UE5のWorld Compositionとは|サブレベルによる大規模ワールドと非推奨化 2026-06-13 13:26:35
- .protoのgo_packageオプションとは|Goコード生成時のパッケージ指定 2026-06-13 13:26:34
- C++の開発環境構築|コンパイラとIDEの選び方・Hello World 2026-06-13 13:26:34
- C++の関数まとめ|標準入出力(printf・cout・cin)と関数の基本 2026-06-13 13:26:33
- gRPCクイックスタート|.proto定義からサーバ・クライアント実装まで 2026-06-13 13:26:33
- C#・Visual Studioのよくあるエラーと対処まとめ 2026-06-13 13:26:33
- UE5でSet Input Mode UI Onlyを解除する方法|Game Onlyに戻す 2026-06-13 13:26:32
- UE5のアウトライナーとは|アクターの一覧・整理・親子付け 2026-06-13 13:26:32
- UE5エディタの自動保存の頻度を変更する方法|Auto Save設定 2026-06-13 13:26:31
コメントを削除してもよろしいでしょうか?