3.

Bitnami WordPress スタックの MySQL root パスワード確認・変更方法(Lightsail / EC2)

編集
この記事の要点
  • 確認: cat /home/bitnami/bitnami_credentials(SSH 接続後すぐ表示される MOTD と同内容)
  • AWS Lightsail: ダッシュボード → インスタンス → 接続 → 「Get application user & password」、またはシステムログの最初に表示
  • 古い Bitnami(2017 以前)は bnconfig --userpassword で表示。~/htdocs/wp-config.php にも DB パスワードが書かれる
  • 変更: sudo wp-cli config set DB_PASSWORD ... + MySQL 側の ALTER USER + sudo /opt/bitnami/ctlscript.sh restart mysql
  • パスワード忘れ: /opt/bitnami/mysql/scripts/setpassword.sh(バージョンにより無い場合あり)

Bitnami スタックの基本

AWS Lightsail / EC2 で「WordPress with NGINX and SSL Certified by Bitnami」を立ち上げると、WordPress + NGINX + MySQL(MariaDB)+ Let's Encrypt が一括導入されます。初期パスワードは自動生成され、bitnami ユーザーのホームディレクトリに記録されます。

確認方法 1: bitnami_credentials ファイル

SSH で接続後、最も確実なのがこのファイル:

ssh -i your-key.pem bitnami@xx.xx.xx.xx
cat /home/bitnami/bitnami_credentials

# 出力例:
# Welcome to the Bitnami WordPress Stack
#
# ******************************************************************************
# The default username and password is 'user' and 'NRfPo...XXX'.
# ******************************************************************************

ここに表示されているのはWordPress 管理画面のパスワードです。MySQL root はこれと同じ場合もあれば、別途生成されている場合もあります。

確認方法 2: SSH ログイン直後の MOTD

初回 SSH 接続時に画面に表示されるメッセージにもパスワードが書かれています:

       ___ _ _                   _
      | _ |_) |_ _ _  __ _ _ __ (_)
      | _ \ |  _| ' \/ _` | '  \| |
      |___/_|\__|_||_\__,_|_|_|_|_|

  *** Welcome to the Bitnami WordPress 6.x ***
  *** Documentation:  https://docs.bitnami.com/aws/apps/wordpress/ ***
  *** Bitnami Forums: https://community.bitnami.com/ ***
bitnami@ip-172-26-xx-xx:~$

確認方法 3: Lightsail コンソールから

  1. AWS Lightsail コンソールにログイン
  2. 該当インスタンスを選択 → 「接続」タブ
  3. 「Get application user & password」ボタンをクリック
  4. 表示されるパスワードをコピー

または「メトリクス」タブのシステムログから:

######################################################################
##                                                                  ##
##  Setting Bitnami application password to 'NRfPo...XXX'           ##
##                                                                  ##
######################################################################

確認方法 4: wp-config.php から DB パスワード

MySQL の DB ユーザーパスワード(root とは別)は wp-config.php に書かれています:

sudo cat /opt/bitnami/wordpress/wp-config.php | grep DB_
# define( 'DB_NAME', 'bitnami_wordpress' );
# define( 'DB_USER', 'bn_wordpress' );
# define( 'DB_PASSWORD', 'xxxxxxx' );  ← これ
# define( 'DB_HOST', 'localhost:3306' );

# 旧パスのバージョンもあり
sudo cat /home/bitnami/apps/wordpress/htdocs/wp-config.php | grep DB_

MySQL root に接続

root パスワードが分かれば:

# Bitnami の MySQL は /opt/bitnami/mysql/bin に独立して入っている
/opt/bitnami/mysql/bin/mysql -u root -p

# またはパスを通している場合
mysql -u root -p

# パスワード入力後、確認
mysql> SHOW DATABASES;
mysql> SELECT User, Host FROM mysql.user;

root パスワードを変更する

手順 1: 新パスワードを決める

NEW_PW=$(openssl rand -base64 24)
echo "New: $NEW_PW"
# どこかにメモ

手順 2: MySQL 側でパスワード変更

/opt/bitnami/mysql/bin/mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PW_HERE';
FLUSH PRIVILEGES;
EXIT;

手順 3: WordPress 側 DB ユーザーは別物

WordPress は bn_wordpress 等のユーザーで接続するので、root を変更しても WordPress には影響しません。WordPress 用 DB ユーザーを変更する場合のみ wp-config.php も同期:

# WordPress DB ユーザーのパスワード変更
mysql -u root -p -e "ALTER USER 'bn_wordpress'@'localhost' IDENTIFIED BY 'NewDbPass';"

# wp-config.php に反映
sudo sed -i "s/define( 'DB_PASSWORD', .*/define( 'DB_PASSWORD', 'NewDbPass' );/" \
    /opt/bitnami/wordpress/wp-config.php

手順 4: サービス再起動

# Bitnami 全サービス再起動
sudo /opt/bitnami/ctlscript.sh restart

# MySQL だけ
sudo /opt/bitnami/ctlscript.sh restart mysql

# 状態確認
sudo /opt/bitnami/ctlscript.sh status

# ブラウザで WordPress を開いて DB エラーが出ないことを確認

パスワードを忘れてしまった場合

--skip-grant-tables 起動が確実ですが、Bitnami は専用スクリプトを提供しているバージョンもあります:

# 古い Bitnami スタックにあるスクリプト
ls /opt/bitnami/mysql/scripts/
sudo /opt/bitnami/mysql/scripts/setpassword.sh

# 無い場合: 手動で skip-grant-tables 起動
sudo /opt/bitnami/ctlscript.sh stop mysql

# my.cnf を一時編集
sudo cp /opt/bitnami/mysql/conf/my.cnf /opt/bitnami/mysql/conf/my.cnf.bak
sudo sed -i '/^\[mysqld\]/a skip-grant-tables\nskip-networking' \
    /opt/bitnami/mysql/conf/my.cnf

# 起動
sudo /opt/bitnami/ctlscript.sh start mysql

# 認証なしで接続して変更
/opt/bitnami/mysql/bin/mysql -u root
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass';
mysql> EXIT;

# my.cnf を元に戻して通常起動
sudo cp /opt/bitnami/mysql/conf/my.cnf.bak /opt/bitnami/mysql/conf/my.cnf
sudo /opt/bitnami/ctlscript.sh restart mysql

bnconfig ツール(旧 Bitnami)

2017 以前の Bitnami スタックには bnconfig という管理コマンドが付属:

# WordPress 管理パスワード変更(DB ではなく)
sudo /opt/bitnami/apps/wordpress/bnconfig --userpassword NewPassword

# DB パスワード変更(一部バージョンのみ)
sudo /opt/bitnami/apps/wordpress/bnconfig --databasepassword NewDbPass

Bitnami スタックのディレクトリ構成

場所内容
/opt/bitnami/インストール本体
/opt/bitnami/wordpress/WordPress 本体(新版)
/home/bitnami/apps/wordpress/htdocs/WordPress(旧版パス)
/opt/bitnami/mysql/MySQL 本体
/opt/bitnami/mysql/conf/my.cnfMySQL 設定
/opt/bitnami/mysql/data/データディレクトリ
/opt/bitnami/nginx/conf/NGINX 設定
/home/bitnami/bitnami_credentials初期パスワード

FAQ

Q: bitnami_credentials が空 / 存在しない
A: 初回ログイン後に削除されるか、新版ではダッシュボード経由でのみ表示。Lightsail コンソールから「Get application user & password」で確認。

Q: ctlscript.sh が見つからない
A: 新版 Bitnami は systemctl restart bitnami や個別の systemctl restart mysql を使う構成。ls /opt/bitnami/ でスクリプトの有無を確認。

Q: WordPress 管理者パスワードと MySQL root の関係
A: 完全に別物。WordPress 管理者の変更は wp user update や WP 管理画面から。MySQL は SQL で。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. GCEにSSH接続する方法
  2. エラー一覧
  3. WordPress with NGINX and SSL Certified by Bitnamiのmysqlのrootユーザーのパスワード