WordPress で稼働中のサイトでテスト環境が必要になり、テスト環境を再構築しました。
WordPress 環境に関しては手動対応で設定完了しました。
WordPress のプラグインBackWPupで退避したZipファイルを展開して、プラグイン、環境類をFTPでアップロードするまでは、順調に進みました。
問題となるのは、データ移行作業です。
今回以下の環境としました。
本番環境と同じ環境でテストしたいこともあり、ドメイン直下にWP環境環境を新たに追加しています。
現本番環境:ドメイン/WP環境A
テスト環境:ドメイン/WP環境B
手順
1.プラグインBackWPupのZipを展開します。
2.sqlデータを探してテキストエディタで開きます。
テキストエディタの限界行を超えた。。とかで、テキストエディタの表示文字数変更して何とかクリア。
3.テキストエディタの置換命令で、「ドメイン/WP環境A」の記述を「ドメイン/WP環境B」に変更して「新たなファイル名」(以降、移行sqlファイル)をつけて拡張子sqlで保存します。
4.これを保存して、レンタルサーバーのphpMyAdminでデータ操作を行います。
5.phpMyAdminで該当するデータベースに入って、テーブルをすべて削除します。
6.インポートで移行sqlファイルで読取します。
7.ファイル容量が大きいことが原因でエラーが出ました。30MB(レンタルサーバー会社の指定した容量)の限界を超えたためです。
8.Zipファイルにしてインポートすると、エラーが出ました。データ容量が大きいためタイムアウトとなりました。
9.移行sqlファイルが大きすぎることが原因と言えます。ローカル環境なら、タイムアウトの設定を変更して読み取りしていますが、レンタルサーバーでは、簡単にいきません。
10.レンタルサーバー会社に問い合わせると、「小分けにするように…」と言う回答がありました。何のことかわからんことで調べると、以下の単位に分割せよ!と言う趣旨とわかりました。
SQLファイルの中身を見たことがなったのですが、テーブル単位に手続きが定義されています。
DROP TABLE IF EXISTS:テーブルが存在していたら、削除。
CRETE TABEL:テーブルを作成して、項目の定義
LOCK TABLE:テーブルをロック
INSERT INTO:データをセット
UNLOCK TABLE:テーブルをロック解除
11.この分割は、2分割でいいのか?わからん状態で進めると、同じTime Outが出るのでこれ以上に分割しないとできないことが解ります。
12.最終的に7分割しましたが、5ファイルはOKですが、1ファイル(1テーブル)だけは巨大すぎてTime Outが出るので、この方法だけではNGです。
データを見ると、投稿データに関するデータと思われます。
Insert命令箇所を分割しないとできにようです。
1ファイルは、原因がわからないメッセージで、分割をミスった可能性が高いです。
投稿データ以外では、この方法が有効です。
投稿データとほかのエラーに関しては、後日続きを行います。