私は2でやることが多いです。
違いとしては、
1の場合はpost_idが振り直されるのはないかな?
2の場合はpost_idが引き継がれます。
それと、2では移行するDBテーブルを自分で選択できるので、
もし旧サーバでなにかプラグインを使用していた場合は、
プラグインの設定や蓄積データを引き継ぐことができますよ。
2の方法で接頭語を変更する場合は、インポートしたデータをエディタで置換すればよいです。
かつてWordPressのエクスポート&インポート機能ではpost_idが振り直されるということもありましたが、現在はpost_idが引き継がれたままインポートされるようになっています。
2の方法で引っ越す場合、手動で様々な箇所を適宜変更する必要がありますが、1の方法ではWordPress側で自動的に修正して新しいDBに取り込んでくれます。
どちらの方法も一長一短ですので、一概に「こちらが良い」とは言えません。
主な特徴を下記に列挙してみますので、ご自分の環境に合わせて選んでみて下さいね。
※WordPressのエクスポート&インポート機能の特徴
- 引っ越し元と引っ越し先のDB接頭語が違っても問題なし。
- 引っ越し元と引っ越し先とでドメイン名が変わっていてもWordPress側でインポート時に修正してくれる。
- 「wp_terms」と「wp_term_taxonomy」それに「wp_comments」「wp_commentmeta」「wp_postmeta」などはインポート時にIDが自動的に1から振り直されるが、「wp_posts」についてはIDの振り直しはなされない。(post_idは引き継がれる)
- WordPressのエクスポートには「すべて」の他に「投稿記事」「固定ページ」「コメントフォーム(Contact Form 7使用時)」「カスタム投稿」など個別にXML形式でエクスポートすることが可能だが、カテゴリー&タグ情報やカスタムメニューそれに「wp_posts」に保存されるプラグイン情報(例:Easy Admin Color Schemesのカラー情報)などについては「すべて」を対象にしないとエクスポートできないので注意が必要。
- 「すべて」を対象にした場合には添付メディア情報もXML形式でエクスポートされているが、現在の所「WordPress Importer」では添付メディア情報のインポートはできない。
⇒引っ越しによる別サーバーからのインポートならば、「Download and import file attachments」にチェックを入れることでデータベースに添付メディア情報をインポートすることが出来る。
⇒添付メディア情報をインポートする場合にはFTPでメディアをアップする必要なし。(WordPress側で自動的に画像などを引っ越し元からコピーしてくる)
- 「WordPress Importer」でのインポート作業では一時的にwp_postsとwp_postmetaが使用される。
- エクスポート&インポート対象はDBでいえば、「wp_commentmeta」「wp_comments」「wp_postmeta」「wp_posts」「wp_terms」「wp_term_relationships」「wp_term_taxonomy」。
※DBから直接エクスポート&インポートして引っ越し
- DB接頭語が違う場合にはインポート前にエディタなどを使用して手動で変更しておく必要あり。(それほど手間ではない)
- 引っ越しによりドメイン名が変わってしまう場合にもあらかじめ手動で必要箇所を変更しておかないとリンク切れを起こしてしまう可能性あり。
⇒いっそ「wp_usermeta」と「wp_users」それに「wp_options」についてはインポートせずに引っ越し先で新たに設定し直す……という手もあり。
⇒場合にもよるが記事内から画像のリンクやブログ内リンクを「http://」で張っている場合には修正がやや面倒……かも。(まぁエディタの一括置き換え機能を駆使すればいいだけ……なのだが……)
- DBの扱いに慣れているなら、こちらの方が楽。(あっという間に引っ越し完了できる)
少しでもこのコメントが参考になれば幸いです。
sysbird様
Suzakura Karin様
アドバイスをありがとうございます。
Wordpress の機能でエクスポートし、インポートした場合は必要な情報を合わせてくれる。MySQL(phpMyadmin)の操作不慣れの自分の場合は、Wordpress の機能を利用したいと思います。
バックアップに関しては、漠然と WordPress のエクスポート機能か、MySQL のエクスポート機能を使った方が良いのか分かりませんでした。今回のアドバイス頂きで自分の場合は、Wordpress の機能使った方が安全と理解しました。
何かトラブルの際は、MySQL からのエクスポートしたバックアップが有れば融通が利きそうだと理解し、バックアップは WordPress のエクスポートと、MySQL のエクスポートを取得するようにしたいと思います。
もう解決マークがついていますので、このコメントを目にするかどうかはわかりませんが……。
ちょっとだけ補足。
先日ご紹介させて頂いたのは「引っ越し」をテーマにした場合になります。
「バックアップ」となると、また話は別。
バックアップということはインポートは「別サーバー」ではなく「同サーバー」が対象ということになると思いますので、WordPressのエクスポートデータによる復旧はやや困難となってくるかと思います。
どこがややこしくなってくるかというと……。
「すべて」を対象にした場合には添付メディア情報もXML形式でエクスポートされているが、現在の所「WordPress Importer」では添付メディア情報のインポートはできない。
⇒引っ越しによる別サーバーからのインポートならば、「Download and import file attachments」にチェックを入れることでデータベースに添付メディア情報をインポートすることが出来る。
⇒添付メディア情報をインポートする場合にはFTPでメディアをアップする必要なし。(WordPress側で自動的に画像などを引っ越し元からコピーしてくる)
↑この部分。
別サーバーからの引っ越しなどの場合にはコピー元とコピー先のメディアフォルダが別になるので特に問題はないのですが、バックアップからの復旧となるとコピー元とコピー先のメディアファイルが同じ……ということになってしまいます。
「Download and import file attachments」にチェックが入っていると、WordPressはコピー元から対象メディアをコピーし、コピー先に対象メディアをペーストしようとします。
その時にコピー先に対象メディアと同名のメディアを発見すると連番付きの別ファイルとしてペーストを試みます。同時に記事内のメディアへのリンクや「wp_posts」に保存されるデータも全て連番付きのファイル名に書き換えてインポートしてしまいます。
(例 media.png ⇒ メディアフォルダにmedia.pngとmedia-2.pngという2つのファイルが存在する状態になる)
「Download and import file attachments」にチェックを入れずにインポートすればこのトラブルは回避できるのですが、そうすると今度はWordPressのメディアライブラリにメディアが登録されずにインポートされることになります。
メディアライブラリにメディアが登録されていない状態であっても、ブログ上のメディアが表示されなくなってしまうわけではないので、この点が気にならないのであれば特に問題はありません。
以上のことから。
「バックアップ」が目的の場合にはWordPressのエクスポート&インポート機能はあまりお勧めできません。
WordPressの「バックアップ」にはMySQLのエクスポートを使うかWP-DBManagerなどのバックアッププラグインを利用されることをお勧め致します。
Suzakura Karin様
再度のアドバイスをありがとうございます。
仕事が忙しくご返事が遅くなりました。
「バックアップ」と「引越」の違い、十分理解したいと思います。
バックアップに関しては
「別サーバー」ではなく「同サーバー」が対象ということになると思いますので、WordPressのエクスポートデータによる復旧はやや困難となってくるかと思います。
はい。注意したいと思います。
今回は引越でしたが、旧サーバは稼働していない状態でした。
実は、インポート時に「Download and import file attachments」にチェックを入れてインポートしましたが、記事内に写真が表示されずFTPで画像ファイルを戻しました。記事内には画像が表示されましたが、メディアライブラリには登録されていませんでした。この件は下記の引用部分が原因だと理解しました。
「すべて」を対象にした場合には添付メディア情報もXML形式でエクスポートされているが、現在の所「WordPress Importer」では添付メディア情報のインポートはできない。
上記の件
メディアライブラリで画像を管理出来ない件、納得しました。
別サーバーからの引っ越しなどの場合にはコピー元とコピー先のメディアフォルダが別になるので特に問題はないのですが、バックアップからの復旧となるとコピー元とコピー先のメディアファイルが同じ……ということになってしまいます。
「Download and import file attachments」にチェックが入っていると、WordPressはコピー元から対象メディアをコピーし、コピー先に対象メディアをペーストしようとします。
その時にコピー先に対象メディアと同名のメディアを発見すると連番付きの別ファイルとしてペーストを試みます。同時に記事内のメディアへのリンクや「wp_posts」に保存されるデータも全て連番付きのファイル名に書き換えてインポートしてしまいます。
(例 media.png ⇒ メディアフォルダにmedia.pngとmedia-2.pngという2つのファイルが存在する状態になる)
「Download and import file attachments」にチェックを入れずにインポートすればこのトラブルは回避できるのですが、そうすると今度はWordPressのメディアライブラリにメディアが登録されずにインポートされることになります。
上記の件も、理解しました。
バックアップ(同サーバ)の場合は「エクスポート」「インポート」を利用した場合、画像データがサーバに残っている場合「Download and import file attachments」のオン・オフで画像データがダブってしまうか、メディアライブラリに登録されない状態になってしまう。
バックアップの場合は、MySQLのエクスポートを使うかWP-DBManager等を利用した方が良い。
結果ですが、今回の「引越」でしたが今思えば、MySQLのエクスポートを利用するか、事前にWP-DBManagerを利用すれば良かったと思いました。バックアップデータのあるので少し研究してみたいと思います。
再度のアドバイスを頂き「引越」「バックアップ」Wordpressの「エクスポート」「インポート」とMySQLのエクスポートの違い、使い分け、バックアップ用のプラグイン、WP-DBManager等を知ることが出来て勉強になりました。