WordPress(AWS+Bitnami)-データベースのデータを取り出す方法

僕は、AWSのEC2でbitnamiを使ってWordpress環境を構築しています。
少しデータを取り出す必要があったので手順を残しておきます。
くれぐれも自己責任でお願いします。

「WordPressの構築・運用方法」関連記事

手順

簡単にいうとこんな感じです。
ちょっとやってみます。

  • phpMyAdminを公開する
  • phpMyAdminのユーザー名とパスワードを確認する
  • phpMyAdminにログインする
  • wordpressのテーブルを探す
  • phpMyAdminのエクスポート機能でエクスポート
  • phpMyAdminを非公開にする

phpMyAdminを公開する

bitnami環境には標準でphpMyAdminがインストールされています。
ただ、そのままアクセスしようとしても怒られます。

wordpress-phpadmin-accesserror

平たく言えばセキュリティの関係でつなげないとのこと。
ここでは公開する手順を説明しますが、作業が一通り終わればちゃんと非公開にすることをおススメします。

TeratermなどでEC2のインスタンスに接続

wordpress-teraterm-access

viとかでphpmyadminのhttpd-app.confを開く

vi /opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf

内容を修正する。

# この行を探し以下のように修正する
Allow from 127.0.0.1
↓
#Allow from 127.0.0.1
Allow from all

# この行も探し以下のように修正する
Require local
↓
#Require local
Require all granted

Apacheのリスタート

sudo /opt/bitnami/ctlscript.sh restart apache

とりあえずつないで確認。URLに以下の内容を入れる。

http://(IpアドレスやHPアドレス)/phpmyadmin

wordpress-phpmyadmin-login

プログラム界の最弱にして最強のウザキャラ。
ユーザー名とパスワードが立ちはだかります。
次は、ユーザー名とパスワードを確認します。

phpMyAdminのユーザー名とパスワードを確認する

TeratermなどでEC2のインスタンスに接続

wordpress-teraterm-access

vi などでwordpressのwp-config.phpを開く

vi /home/bitnami/apps/wordpress/htdocs/wp-config.php

ユーザー名とパスワードを確認する。

/** MySQL database username */
define('DB_USER', 'bn_wordpress');

/** MySQL database password */
define('DB_PASSWORD', 'パスワード');

phpMyAdminにログインする

確認したユーザー名とパスワードでphpMyAdminにログインする。

wordpress-phpadmin-top

ログイン後はこんな感じ

wordpressのテーブルを探す

wordpress-phpadmin-tableall

phpMyAdminのエクスポート機能でエクスポート(簡易エクスポート)

※注意:もし仮に保存の目的がデータベースの移行などであれば、簡易エクスポートでは新しいデータベースに挿入できません。
後述、詳細エクスポートをご参照ください。

対象のテーブル(イメージはすべて)を選択してエクスポートボタンを押す

wordpress-phpadmin-export

実行ボタンを押す

wordpress-phpadmin-export-execute

bitnami_wordpress.sqlが、ダウンロードフォルダ等に保存される。

phpMyAdminのエクスポート機能でエクスポート(詳細エクスポート)

「詳細 - 可能なオプションをすべて表示」にチェック

wordpress-phpadmin-export-detail

生成オプションで「IF NOT EXISTS」にチェックを入れる。
テーブルを作成する際、既に存在すればCreate文は発行せず、存在しない場合だけ新たにテーブルを作成する。

wordpress-phpadmin-export-ifnotexists

新しいサーバーのデータを残したい場合はチェックを入れてはいけません。
新しいサーバーのデータは一切不要(デフォルト値しかない場合など)の場合は「挿入前にテーブルを空にする」にチェック。
こうしておくことで主キー違反でデータが挿入できないトラブルを回避します。

wordpress-phpadmin-export-alldel

下のほうに行って実行ボタンを押す

wordpress-phpadmin-dump-exe

bitnami_wordpress.sqlの中身をちょっと覗いてみる

適当なエディタでファイルを開いてみる。僕は最近お気に入りのVSCode。

wordpress-phpadmin-ddlsample

Create文とInsert文の組み合わせでできているファイル。
詳細で選んだ内容によって変化します。
僕のはTRUNCATE TABLE が入っています。
データを挿入前にごそっと消してくれるやつです。

任意で追加したプラグインのデータも取り出せるっぽいですね。

phpMyAdminを非公開にする

TeratermなどでEC2のインスタンスに接続

wordpress-teraterm-access

viとかでphpmyadminのhttpd-app.confを開く

vi /opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf

内容を修正する。

# この行を探し以下のように修正する
#Allow from 127.0.0.1
Allow from all
↓
Allow from 127.0.0.1

# この行も探し以下のように修正する
#Require local
Require all granted
↓
Require local

Apacheのリスタート

sudo /opt/bitnami/ctlscript.sh restart apache

アクセスできないことを確認する。

http://(IpアドレスやHPアドレス)/phpmyadmin

まとめ

WordPressのデータベースデータをごそっと取り出す方法を記載しました。
何かあっても責任は持ちませんので自己責任でお願いします。

おわり

コメントを残す

メールアドレスが公開されることはありません。