WordPress(AWS+Bitnami) – MySQLデータ移行

僕は、AWSのEC2でbitnamiを使ってWordpress環境を構築しています。
ここではデータベースデータ(MySQL)の移行を行います。
移行元と移行先の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のインポート機能でインポート

bitnami_wordpressを選択→インポート
ツリー上でbitnami_wordpressをちゃんと選択すること!!

wordpress-phpadmin-import

.sqlもしくは.zipしか取り込まないとのこと。

wordpress-phpadmin-file-check

バックアップファイルをzip圧縮します。(サイズのせいか圧縮せずに行ったら失敗)
右クリック→送る→圧縮(zip形式)フォルダー

wordpress-backup-asyuku

「データベース "bitnami_wordpress" へのインポート」となっていることを確認。
※「現在のサーバーへインポート」となっている人はツリーでbitnami_wordpressを選択します。

wordpress-importtitle-check

ファイルの選択ボタンを押します。

wordpress-phpadmin-fileselect

zip圧縮したファイルを選択します。

wordpress-zip-select

zip圧縮したファイルを選択されていることを確認

wordpress-zip-check

後は心をこめて実行

wordpress-phpadmin-import-exec

それなりに時間がかかります。
焦らしてきますが、ひたすら待つのがよろしいかと。

wordpress-phpadmin-wait

うまくいったらこんな感じ

wordpress-phpadmin-import-success

注意事項

  1. WordPressのパスワードも引き継がれます。
    移行前のパスワードを紛失しないようにしましょう。

  2. この作業を行うとオリジナルのトップページが崩れる場合があります。
    ログイン状態だとわからないのですが、キャッシュをクリアしたりログアウトすると崩れる様子が確認できました。

対策はこちら → WordPress(AWS + bitnami) – MySQLをリストアしコピーサイトを作ったら本家が死んだ

僕がハマった失敗ケース

  • バックアップ取得時の問題 → 参考
    • データ作成オプションで、挿入前にテーブルを空にするが未チェック→インデックス違反
    • 生成オプションでIF NOT EXISTSが未チェック→テーブルがあるのに作ろうとする
  • .sqlファイルのままでやろうとしたがファイルサイズが40メガオーバー
  • 「現在のサーバーへインポート」の状態で実行

まとめ

結構大変です。
これをやる人は頑張ってください。
ちなみにこれだけだと、まだブログ記事の画像が移行できていません。

おわり

コメントを残す

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