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


僕は、AWSのEC2でbitnamiを使ってWordpress環境を構築しています。
ここではデータベースデータ(MySQL)の移行を行います。
移行元と移行先のWordpressが立ち上がっていることが前提です。

データベースからデータを取り出す方法についてはこちらをご参照ください。

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

手順

簡単にいうとこんな感じです。
取り出す時の反対をすればよいだけです。
ちょっとやってみます。

  • phpMyAdminを公開する
  • phpMyAdminのユーザー名とパスワードを確認する
  • phpMyAdminにログインする
  • wordpressのテーブルを探す
  • phpMyAdminのインポート機能でインポート ← ここだけが違う
  • phpMyAdminを非公開にする

phpMyAdminを公開する

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

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

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

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

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

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

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

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のテーブルを探す

phpMyAdminのインポート機能でインポート

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

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

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

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

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

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

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

後は心をこめて実行

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

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

注意事項

  1. Wordpressのパスワードも引き継がれます。
    移行前のパスワードを紛失しないようにしましょう。
  2. この作業を行うとオリジナルのトップページが崩れる場合があります。
    ログイン状態だとわからないのですが、キャッシュをクリアしたりログアウトすると崩れる様子が確認できました。

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

僕がハマった失敗ケース

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

まとめ

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

おわり

C# DXの設計書 Git GitHub GitHubサーベイ MovingWordpress Python Twapi Visual Studio VSCode Wordpress WPF ソフトウェア開発実演 ツール データサイエンス フォロワーを増やしたい ブログ収益化 ブログ記事整理プロジェクト プログラマーとは プログラミング ワードプレスの引っ越し 僕が会社をやめた理由


コメントを残す

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