phpMyAdminを使ったWordPressからWordPressへの移行(URLが変わる場合)

さて、そろそろサーバ公開と思っていたが、今まで構築したサーバは検証用にして公開用サーバは必要最小限の構成にして別に構築する予定だったので、急いで環境を構築しWordPressのデータ移行に取り掛かった。
WordPressのインストールフォルダ、MySQLのバックアップは取っていたが復元は試していなかったのでその検証も兼ねていた。
公開用のサーバにはphpMyAdminを入れたくなかったので、MySQLのデータ移行は MySQLのデータベースフォルダを丸ごとコピー&ペーストする方法をとった。(一応調べた手順だがかなり不安)
検証用サーバから公開用サーバへscpを使って必要なデータをコピー。ブラウザでサイトにアクセスすると”エラー:データベースに接続できません”と表示。(やっぱり)確認すると操作を誤ったのかWordPressのデータベースだけがコピーできていなかったので、再度チャレンジして無事サイトトップの画面表示を確認することができました。

よしよしと思いながらしばらくWordPressの画面をいじっていたが、何か変な気がしていた。ふとURLを見ると検証用サーバのURLではないか。サイトトップは確かに公開用サーバのURLでアクセスできるが、そこからリンク先が(ダッシュボードも含め)検証用サーバになっている。検証用サーバも起動させていたのでシャットダウンさせたら、サイトトップからのリンク先が表示されない。(ハマったな・・・)
おそらく サイトのURL情報がどこかに残っているんだろうな・・・。

しばらくあがいてみたが、今の私が自力で解決するのは難しいなと思い、 ググってこちらを参考にさせていただきました。
結局phpMyAdminを使うことになってしまったけど助かりました。

まとめると
phpMyAdminを使ったWordPressからWordPressへの移行(URLが変わる場合)
1.移行元のphpMyAdminでWordPressのデータベースをwp-optionsだけ除外してエクスポート
2.移行先にWordPressを新規インストール
3.移行先のphpMyAdminでWordPressのデータベースからwp-optionsだけ残して他は削除
4.移行元でエクスポートしたファイルを移行先のphpMyAdminでインポート
※ プラグインの設定やアップロードした画像は消えてしまいます。

シェルで行う場合はWordPressのデータベースフォルダ内のwp_options.MYD、wp_options.MYI、wp_options.frmを除外すればいいのかな?これはまた別の機会に試してみよう。

<2012/1/1 追記>
後日、WordPressのデータベースフォルダ内のwp_options.MYD、wp_options.MYI、wp_options.frmを除外すれば良いことを確認しました。
それよりも私のように自宅サーバで構築している場合は先にWordPressのダッシュボードから移行先のURLに変更し、後はWordPressのインストールフォルダとMySQLのWordPressデータベースをまるごと移行先のサーバに移動させればOKでした。私の環境の場合内部DNSで名前解決しておりましたが、手っ取り早く確認する場合PCのhostsファイルに設定してしまえば、ダッシュボードで移行先URLに変更後、データを移行する前の移行元サーバでも確認できます。不測の事態ため移行先のURLに変更する前はバックアップを当然取っておきます。
お試しにになる方は自己責任でお願いいたします。

スポンサードリンク