WordPress 環境移行の挑戦:データベース接続エラーを克服する方法

当ホームページの環境を移行しました。
画面仕様・操作性は、大きな変化がありませんが、PHPバージョンが5.3.2から7.2.6にアップしたことで管理面で大きな利点が考えられます。

この作業において、何度も「データベース接続確立エラー」が発生しました。最初は、びっくりですが、何度も見るうち、「またか!」「出た~!」慣れが出るほど、見慣れたメッセージとなりました。当HP参照時、これを見た方は、きっといるはずです。

旧動作環境から新環境への移行は、容易に見ていましたが難点があります。

一番の難点は、「移行先環境でテスト」ができないこと

 移行先環境テストにおいて、HP動作確認を行うとうまくいっているように見えても旧環境(URLを絶対Pathで作成している)を参照してしまうため、新環境での確認テストができません。相対Pathで作成した環境用の移行と言えます。

  移行作業に当たっては、レンタルサーバー会社で移行用環境(新URL)が用意され、移行が完了すると旧環境を停止して、新環境を現環境に切り替えて運用をスタートすることができるようですが、WordPress 環境では無理があります。

・移行環境で移行用にWordPressをインストールすると、本環境のURLでないためこちらの指定したURLでない環境となってしまいました。
旧環境   https://aqlier.com

移行用環境 http://xxxx.aqlier.com(xxxxは、レンタルサーバー会社の指定)

移行(環境切り替え)してから正式な動作確認が必要になりますが、ここでデータベース接続エラーが出て移行できませんでした。

新環境に環境切り替えしたあと、移行作業をやり直しました。この作業中は、HPへのアクセスが停止することになり、「シームレスな移行が可能」という謳い文句に疑問を感じます。

ーーー移行作業失敗後ーーー
まっさらな状態で、移行作業を実施することになりましたが、いままでの移行手順が全く使えないことがおきました。

いままでの作業手順
1.FTPで新規に WordPress 環境をアップロードしてインストール
2.動作確認
3.FTPで旧環境フォルダ(wp-admin、wp-content、wp-includes)をアップロード
4.phpMyAdminをアップロード、環境に合わせて変更
5.phpMyAdminでDB内のテーブルを削除
6.phpMyAdminで旧環境のsqlをインポート(※今回、URLに変更なし)
7.動作確認

動作環境は移行できても、MySQLデータ移行はできないため新環境で登録作業が必要になります。ここでも、データベース接続エラーが出てしまいました。
この解決に半日かけましたが原因がわからないため WordPress 機能を使用した移行方法に変更しました。

この方法で移行作業においても、環境データの移行はうまくいっても画像ファイルが参照できない(FTPではファイルは見えて、 WordPress では見えない)ことがあり、何度かやり直した結果での作業手順は下記になります。

画像ファイルが参照できないときは、画像ファイルの所有グループが異なることまでは把握できていますが変更ができないためメディアに関して特別な処理が求められます。
これが、プラグインで解決できると知るまで、時間を要してしまいました。

NGのとき 画像のプロパティでグループが502

OKのとき 画像のプロパティでグループが1655
これが原因らしきことか、他の原因かは定かでありません。

ーーー移行作業失敗後2ーーー
作業手順

1.FTPで新規に WordPress 環境をアップロードしてインストール
2.動作確認
3.FTPで旧環境フォルダ(wp-admin、wp-content、wp-includes)をアップロード

4.パソコン(localhost)内に旧環境動作環境を作成(WordPressが使える旧環境)
5.旧環境動作環境でデータをエクスポート(すべて、メディア)を出力
6.旧環境動作環境でエクスポート(すべて、メディア)したXMLの「localhost」箇所を「新環境のドメイン(www.xxxx.com)」にテキストエディタで変更して保存
※4~6は、移行作業前に、データ一括データと共に、出力しておくべきと言えます。

7.新環境でプラグイン(Attachment Impoter)をインストール&有効化にする
このプラグインで画像ファイルの参照が可能になるようです。

8.旧環境動作環境の「すべて」で出力したXMLを新環境 WordPress でインポートする。

9.旧環境動作環境の「メディア」で出力したXMLを新環境の「Attachment Impoter」でインポートする。(移行失敗して何度も実行したとこもあり?、最終的に「すべて」の移行だけで画像が参照できるようになっていました。)

10.この方法では、固定データ、投稿データの移行はうまくいきますが、 WordPress の設定情報(テーマ、ヘッダーなど)に関しては移行対象になっていませんので、手作業で設定し直す必要があります。
パソコン(localhost)内の旧環境を参照しながら手作業で実施しました。

11.動作確認
不具合点がかなりありますが、新環境の WordPress で対応できるものであるため、ひとまず完了としました。

不具合点が多発していましたので、おいおい記事を作成します。

ーーー
2019.04.08追記
移行作業中に発生したエラーメッセージです。上記の方法で以下のメッセージは表示されなくなりました。

このページで自動的にデータベースの問題を修正するには、以下のコードをwp-config.phpファイルに追加してください。その後、ページを再読み込みしてください。define(‘WP_ALLOW_REPAIR’,true);
使用できないテーブルがあります。データベースの修復が必要かもしれません。

下書きをプレビューする権限がありません。

移行完了後、設定変更中に発生したメッセージです。設定変更した度に「公開」ボタンを押すことで解決?しました。
もっと高いレベルの権限が必要です。
このサイトをカスタマイズする権限がありません。

上部へスクロール
Verified by MonsterInsights