ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
MySQL root 初期パスワードの確認
MySQL 5.7 以降は初回起動時にランダムな仮パスワードを生成し、エラーログに記録します。インストール直後に root でログインするには、このパスワードを確認する必要があります。
1. yum / dnf で入れた MySQL 5.7+ / 8.0
# 初期 temporary password を確認
sudo grep "temporary password" /var/log/mysqld.log
# 出力例
# 2026-05-17T08:12:34.123456Z 1 [Note] A temporary password is generated for root@localhost: xK6!aQwLp&z9
# ログイン
mysql -u root -p
# Enter password: xK6!aQwLp&z9
# 初期セットアップ(必須)
mysql_secure_installation
mysql_secure_installation は次を対話形式で実行します:
- root パスワードの再設定(強度ポリシー有効化)
- 匿名ユーザーの削除
- remote からの root ログインを禁止
- test データベースの削除
- 権限テーブルのリロード
2. apt(Debian / Ubuntu)で入れた MySQL
Debian 系はインストール中にパスワードを聞かれるのが基本ですが、無人インストールやプリシード時には /etc/mysql/debian.cnf にメンテナンス用アカウントが保存されます。
# debian-sys-maint アカウントでログイン
sudo cat /etc/mysql/debian.cnf
# 出力例
# [client]
# host = localhost
# user = debian-sys-maint
# password = aB3xy7XYZqW0pLn
# socket = /var/run/mysqld/mysqld.sock
# このユーザーでログインして root パスワードを変更
sudo mysql --defaults-file=/etc/mysql/debian.cnf
MySQL 8.0 / MariaDB 10.4+ の Ubuntu パッケージでは auth_socket プラグインでローカル root が透過認証になります:
# パスワード不要で root にログイン(同じ OS ユーザーから)
sudo mysql
# パスワード認証へ切り替えたい場合
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewStrongPass!';
FLUSH PRIVILEGES;
3. Bitnami / AWS Marketplace / クラウドイメージ
Bitnami スタックや AWS Marketplace の MySQL イメージは初期パスワードを平文ファイルに保存しています。
# Bitnami の場合
cat /home/bitnami/bitnami_credentials
# 出力例
# Welcome to the Bitnami WordPress
# The default username is 'user' and the application password is 'XXXXXXXXX'
# MySQL root password: ZZZZZZZZZZ
# ログイン
mysql -u root -p
# OCI/GCP のマネージドサービスは管理コンソールで設定
# AWS RDS は作成時に指定したマスタパスワード(後から CLI でリセット可)
aws rds modify-db-instance --db-instance-identifier mydb \
--master-user-password 'NewPass!' --apply-immediately
4. Docker 公式イメージ
Docker Hub の mysql / mariadb 公式イメージは環境変数で root パスワードを指定します。指定しないと起動エラーになります。
# docker run で指定
docker run -d --name mysql8 \
-e MYSQL_ROOT_PASSWORD=MyR00tPass! \
-e MYSQL_DATABASE=appdb \
-e MYSQL_USER=appuser \
-e MYSQL_PASSWORD=AppPass! \
-p 3306:3306 \
mysql:8.0
# パスワードを忘れた場合は環境変数で確認
docker inspect mysql8 | grep MYSQL_ROOT_PASSWORD
# ランダム生成させる
docker run -d --name mysql8r -e MYSQL_RANDOM_ROOT_PASSWORD=yes mysql:8.0
docker logs mysql8r 2>&1 | grep "GENERATED ROOT PASSWORD"
初期化スクリプトを /docker-entrypoint-initdb.d/ に置くと初回起動時のみ実行されます:
# docker-compose.yml
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: MyR00tPass!
MYSQL_DATABASE: appdb
volumes:
- ./initdb:/docker-entrypoint-initdb.d # *.sql / *.sh が初回起動時に実行される
- mysql_data:/var/lib/mysql
ports:
- "3306:3306"
volumes:
mysql_data:
5. パスワードを完全に忘れた場合の復旧
--skip-grant-tables モードで MySQL を起動すると、認証なしでログインできます。終わったら必ず通常モードへ戻してください。
# 1. 停止
sudo systemctl stop mysqld
# 2. skip-grant-tables で起動
sudo mysqld_safe --skip-grant-tables --skip-networking &
# 3. パスワード無しでログイン
mysql -u root
# 4. パスワードリセット (MySQL 8.0)
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass!';
FLUSH PRIVILEGES;
EXIT;
# 5. 通常起動へ戻す
sudo killall mysqld
sudo systemctl start mysqld
mysql -u root -p
確認方法まとめ表
| 環境 | 確認方法 |
|---|---|
| MySQL 5.7+ / 8.0(rpm) | grep "temporary password" /var/log/mysqld.log |
| MySQL 8.0(apt/Ubuntu) | sudo mysql(auth_socket で透過認証) |
| MariaDB(apt) | cat /etc/mysql/debian.cnf でメンテ用アカウント |
| Bitnami | cat /home/bitnami/bitnami_credentials |
| Docker 公式 | docker inspect または docker logs |
| AWS RDS | 作成時のマスタパスワード(コンソール / CLI でリセット可) |
| 忘れた場合 | --skip-grant-tables で起動 → ALTER USER |
FAQ
Q: /var/log/mysqld.log に temporary password が無い
A: 2回目以降の起動後はログローテーションで消えている可能性。zgrep "temporary password" /var/log/mysqld.log* でアーカイブも見てください。
Q: ALTER USER で「Your password does not satisfy the current policy requirements」
A: validate_password プラグインが厳格モード。SHOW VARIABLES LIKE 'validate_password%'; で確認。記号・大文字・数字を含む 8 文字以上にするか、一時的にポリシーを LOW に変更。
Q: パスワードリセット後も Access denied になる
A: 'root'@'localhost' と 'root'@'%' は別ユーザー。両方確認し、必要なら両方リセット。SELECT user, host FROM mysql.user;
セキュリティの注意
- 初期セットアップ直後に
mysql_secure_installationを必ず実行 - root の remote ログインは禁止(
'root'@'%'を削除) - アプリ用ユーザーを別途作成し、最小権限のみ付与
- パスワードを Git に commit しない(環境変数 / Secrets Manager 経由)
- Docker の環境変数指定は
docker historyで漏れる → Docker Secrets を推奨
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
コメントを削除してもよろしいでしょうか?