WordPressデータベースの復元!インポート方法とテーブルデータのダンプエラー対処

データベースMySQLをインポートして復元するのは、WordPressを更新してエラーが出たとき、サーバーの移行でブログのお引越しをするときなどです。インポートしてブログを復元する方法を説明します。

また詳細で該当データベースでバックアップしたファイルを、インポートしたとき”エラー 実行した SQL:  テーブルのデータのダンプ”と出たとき、エラーが出てるのに、またエラーが出たときやるべきことは、目次2。

サーバー移行のとき、データベースを復元してもブログが表示されない場合は、目次3をご覧ください。

初心者向けに順を追って書いた第一弾はphpMyAdminログインの詳細から説明。第二弾、バックアップ!エクスポート詳細設定。第三弾、バックアップしたものをインポートして復元方法です。

※インポートできないときは、ファイルのアップロードサイズupload_max_filesizeを20M以上に設定する方法チェックしてください。

それでは、完全に復元する方法を順番に見ていきましょう!

データベースからブログを復元する:朝焼けで光る木

スポンサーリンク

ブログを復元(リストア)する方法

ブログを復元するときは、新サーバーへの移行の場合。既存のブログを復元する場合などあって、大事なのは最新のデータを復元することです。すでにエラーが出てしまっている場合は、今持ってるデータベースのバックアップファイルが、かなり大事!

複数のブログを運営したとき、チェックしておきたい事をあわせて紹介するので、復元のポイントをおさえて、一緒にインポートして行きましょう。

復元したいデータベースを選択する

サーバーからphpMyAdminに入ってログインできたら、インポートしたいデータベースを選びます。複数のブログを運営している場合、ツリー状になるので間違わないよう、データベースを指定してくださいね。

phpMyAdminの管理画面データベース名選択

選択したらインポートをクリック。

データべースを選んでインポートを選択

『データベース “データベース名” へのインポート』となってますよね。

選択したデータベースのインポートを開いた画面

現在このデータベースの状態は最新のデータです。エラーが出たからバックアップをとったファイルをアップロードして、以前の健康な状態に戻す作業をします。

ブログを移行するため・キチンとバックアップがとれてるか確認するためだったら、最新版のバックアップファイルを使ってください。

ポイント

最新のバックアップファイルを使う理由。

バックアップデータが古いとその時点に戻すから、管理画面で変更した設定・追加した記事は以前の状態に戻る(バックアップ後、追記したモノは消える)ので、最新版のバックアップファイルを使ってくださいね。

インポートするファイルを選択する

バックアップファイルのインポート画面

運営中ブログのデータベースにインポートする時、確認しておきたいのは、黄色ラインのデータベース名!DB_NAME_hogeに、バックアップをとったDB_NAME_hoge.sqlファイルを入れるから、別のデータベースではない事を確認します。

※バックアップのとき、デフォルトであるデータベース名@DATABASE@でエクスポートしたので確認しやすいですね^^

ちなみに画像のピンクライン。圧縮形式の部分はサーバーによって変わります。当ブログでは、バックアップ時に圧縮するならgzip・zip形式を初心者にオススメしてます。

圧縮形式の説明gzip, bzip2, zip で圧縮されているもの。bzip2が書かれてあるサーバーもある。

インポート中はデータベースは空になる…

同じデータベースに同じ名前のテーブルを複数つくれないから、画面の向こうでデータベースに入っているテーブルを削除してインポートしているのでその間、管理画面に入ってブログを書こうとしてもエラーが出ます。

またブログを見に来た人は、インポート中はページを見ることができません。削除されたページ扱い(俗にいう404ページ)になるからです。

LINKヤバイ!初心者向けで凄い解るHTTPステータスコード301.403.404.500等の意味

インポートが終われば、キチンとデータが入って表示されますのでご安心ください。

インポートを実行する

そのまま下へスクロールして、実行してください。

インポート完了画面

これだけで、インポートが終了、復元完了しているわけです^^

WordPressデータベースのバックアップでDROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加した場合、めちゃくちゃ簡単です。

ちなみにエックスサーバーのSQLバックアップを使っても同じ工程で復元が成功します。

以降WordPressデータベースのバックアップで『DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加』していない時エラーがでますが、これは普通のことでもあったり。

エラー 実行した SQL: テーブルのデータのダンプと出る場合

エラー実行したSQLテーブルのデータのダンプ

『DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する』にチェックが入れてない場合、データベースの該当テーブルを削除してからインポートしないとのエラーが出ます。

エラー

実行した SQL:


— テーブルのデータのダンプ hoge_comments

INSERT INTO hoge_comments ( comment_ID ,comment_post_ID , comment_author , comment_author_email ,comment_author_url , comment_author_IP , comment_date ,comment_date_gmt , comment_content , comment_karma ,comment_approved , comment_agent , comment_type ,comment_parent , user_id )
VALUES ( 1, 1, ‘Mr WordPress’, ”, ‘https://wordpress.org/’, ”,’2015-02-03 07:18:32′, ‘2015-02-03 07:18:32′,’これはコメントです。\nコメントを削除するには、ログインして投稿編集画面でコメントを表示してください。編集または削除するオプションが用意されています。’,0, ‘post-trashed’, ”, ”, 0, 0 ) ;
MySQL のメッセージ: ドキュメント

#1062 – Duplicate entry ‘1’ for key ‘PRIMARY’

バックアップファイルをインポート実行中、テーブルにデータを書き込むとき、同じデータベースに同じ名前のテーブルをつくれないから、エラーが出てる状態です。

ポイント
  1. ブログにエラーが出ていて、データベースでもエラーが出てしまった場合

インポートしたいデータベースのテーブル選んで削除してからインポートしてください。

  1. バックアップファイルの復元テスト・サーバー移行準備の場合
  • 生成オプションの『DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する』

にチェックをいれて、データベースをエクスポートしてインポートすれば問題ありません。バックアップした該当のテーブルを削除するのに抵抗なければ、そのままでも平気です❦

削除するのが心配だったり・自信がない場合は、データベースのバックアップを確認してバックアップファイルを作り直すのも手ですね^^

次の方法は、よくわからずバックアップをとった初心者さんにオススメしたくないですが、困ったときに必要ですので、記しておきますね。

テーブルを削除してインポートする方法

データベースを削除できる画面

上述のデータベースを選択した状態でチェックしたものを削除すればテーブルは空になります。バックアップファイルを作ったとき、詳細設定で何を選択したのかによって、削除するテーブルが変わるんですね

phpMyAdmin:データベースのテーブル画面

エクスポート:該当データベースのテーブル画面

ポイント

1つのデータベースに複数のテーブル接頭辞があるかもしれないし、どんなバックアップをとったかによって削除するテーブルが違ってきます。これ以上は今のあなたの状況を把握していないだけに、割愛したいところですが。

一部のテーブル接頭辞が同じものだけ(例えばwp3_から始まるテーブルのみ)エクスポートした場合は、それらを削除してからインポートすれば、成功します。

※私がオススメしたデータベースのバックアップ状況とおりで、DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドの選択を忘れた場合

「全てのテーブルを選択」をオススメしてるので、その通りした場合は『全て削除』してから、インポートすればOK!

どれを削除するかは、あなたがバックアップで選択したものを、自己責任で削除してください。チェックを入れたものをプルダウンで削除すれば一気に削除されます。幸運をお祈りします!

全て削除する場合。

データベースのテーブル削除方法

データベースのテーブル削除方法

該当のテーブルのみを削除する場合

該当のテーブル接頭辞のみを削除する場合は、他の項目のチェックをはずしてくださいね。(例えばデータベース1つの場合など)

該当のテーブルを選んで削除する方法

該当のテーブルを選んで削除する方法

すると「以下のクエリを本当に実行しますか?」と出るので「はい」をクリック。これで削除できたので、インポートしてください。

削除するテーブルの確認画面

そのエクスポートした.sqlファイルは、記事や管理画面の設定が入っているので、メチャクチャ重要です。ページが表示されるまで、大事に保管してください。

ポイント

応用すれば、該当のテーブル接頭辞をのこして、他を削除することも可能です^^

テーブル接頭辞例えば、wp_1を間違えずに残し、他の接頭辞を削除するなどしてくださいね。

さいごに

データベースのインポート中はブログが表示されないので、既存のブログでのテストは気を使いますね。ですが、いざエラーが出て困ったときは、その間ずっと表示されません。あなたにあったバックアップ方法で良いです!

バックアップをとる習慣さえ付けていれば、復元は簡単にできます。WordPressのバージョンアップをする直前に、この方法でデータベースのバックアップをとってくださいね。

エラーからの復元・復元テスト、お疲れ様でした!それでは、かうたっくより。

トップへ戻る