ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
方法 1: ALTER USER(MySQL 5.7.6+ / 8.0 標準)
最新の MySQL では ALTER USER を使うのが正式な方法です:
-- 通常: 現パスワード入力で接続済の状態で
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewSecret123!';
-- 認証プラグインも指定(MySQL 8.0 互換性問題対策)
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'NewSecret123!';
-- 反映
FLUSH PRIVILEGES;
-- 確認
SELECT User, Host, plugin FROM mysql.user WHERE User = 'root';
方法 2: mysqladmin password(旧来)
シェルから直接変更したい場合:
# 対話入力
mysqladmin -u root -p password
# Enter password: ← 旧パスワード
# New password: ← 新パスワード
# Confirm new password:
# 引数で渡す(履歴に残るので非推奨)
mysqladmin -u root -p'OldPass' password 'NewSecret123!'
方法 3: SET PASSWORD(旧構文・5.7.5 以前)
-- MySQL 5.7.5 以前
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewSecret123!');
-- MySQL 5.7.6 以降は ALTER USER 推奨。古い構文は非推奨警告
SET PASSWORD FOR 'root'@'localhost' = 'NewSecret123!';
方法 4: パスワードを忘れた場合の復旧
--skip-grant-tables で起動して権限チェックを無効化し、直接 user テーブルを更新します。
手順 1: MySQL を停止
sudo systemctl stop mysql # Ubuntu/Debian
sudo systemctl stop mysqld # RHEL/CentOS
sudo systemctl stop mariadb # MariaDB
# プロセス残存確認
ps aux | grep mysqld
手順 2: 権限チェックなしで起動
# 安全のためネットワーク接続も無効化
sudo mysqld_safe --skip-grant-tables --skip-networking &
# または直接(systemd 環境)
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
sudo systemctl start mysql
手順 3: パスワード変更
-- 認証なしで接続
$ mysql -u root
-- MySQL 5.7+ : ALTER USER は --skip-grant-tables 状態だと動かない
-- 一旦 FLUSH PRIVILEGES してから
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewSecret123!';
FLUSH PRIVILEGES;
EXIT;
-- 5.6 以前 / 直接更新(最終手段)
UPDATE mysql.user
SET authentication_string = PASSWORD('NewSecret123!')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
手順 4: 通常起動に戻す
# mysqld_safe で起動したプロセスを止める
sudo killall mysqld
# または
sudo systemctl unset-environment MYSQLD_OPTS
# 通常起動
sudo systemctl start mysql
# 新パスワードで接続確認
mysql -u root -p
MySQL 8.0 の認証プラグイン問題
MySQL 8.0 は既定の認証プラグインが caching_sha2_password に変わり、古い PHP / MySQL クライアントから接続できないことがあります:
SQLSTATE[HY000] [2054] The server requested authentication method
unknown to the client-- 旧プラグインに戻す
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'NewSecret123!';
-- 全ユーザー確認
SELECT User, Host, plugin FROM mysql.user;
my.cnf で既定を変更:
[mysqld]
default_authentication_plugin = mysql_native_password
パスワードポリシー(validate_password)
MySQL 5.7+ には validate_password プラグインが既定で有効。短いパスワードは弾かれます:
ERROR 1819 (HY000): Your password does not satisfy the current
policy requirements-- 現在のポリシー確認
SHOW VARIABLES LIKE 'validate_password%';
-- 主な設定
-- validate_password.policy LOW / MEDIUM / STRONG
-- validate_password.length 8 (既定)
-- validate_password.mixed_case_count 1
-- validate_password.number_count 1
-- validate_password.special_char_count 1
-- 一時的に緩める(再起動で戻る)
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 8;
-- 完全に無効化(非推奨)
UNINSTALL PLUGIN validate_password;
MySQL 8.0 の component_validate_password
8.0 ではプラグインからコンポーネントに変更:
-- 状態確認
SELECT * FROM mysql.component;
SHOW VARIABLES LIKE 'validate_password%';
-- アンインストール
UNINSTALL COMPONENT 'file://component_validate_password';
-- 再インストール
INSTALL COMPONENT 'file://component_validate_password';
Bitnami / Docker 環境での root pw
| 環境 | 確認方法 |
|---|---|
| Bitnami | cat /home/bitnami/bitnami_credentials |
| Docker official mysql | 環境変数 MYSQL_ROOT_PASSWORD |
| MAMP | 初期: root / root |
| XAMPP | 初期: root / 空 |
| AWS RDS | マスターパスワードはダッシュボードから変更 |
FAQ
Q: ALTER USER で「Operation ALTER USER failed」
A: ① パスワードポリシー違反、② --skip-grant-tables 状態で FLUSH PRIVILEGES してない、③ READ ONLY モード。
Q: root@localhost と root@% は別物?
A: 別物です。両方変更が必要ならALTER USER 'root'@'%' ... も実行。
Q: 安全な root pw の生成
A: openssl rand -base64 24 や pwgen -s 24 1 でランダム生成、パスワードマネージャに保存。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- ダウンロード&インストール方法(Windows)
- インストール方法(Linux)
- コマンド一覧
- SQL
- データ型
- 関数
- 管理ツール
- 設定
- パフォーマンスチューニング関連
- エクスポートおよびインポート
- エラー&トラブル
- 文字コードの確認
- 実行中の SQL の状態確認およびプロセスキルの方法
- パスワードの無効化設定
- root ユーザーの初期パスワード確認方法
- rootユーザーのパスワード変更方法
- LIMIT, OFFSET の始まりと挙動
- mysqlのバージョン確認方法
- 実行計画の表示方法
- レプリケーションのステータス確認方法
- 中央値の導き方(バージョン8未満)
- 階層SQL(バージョン8未満)
- パーセンタイルの導き方
- 特定スキーマの全テーブルの全カラム情報を取得する方法
- MySQLで文字列の置換をする方法
人気ページ
- 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アノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?