データベースとphpMyadmin バックアップとサーバー移転の手順

カテゴリー:

ここではphpMyadminを使用したデータベースのバックアップとサーバー移転(サイト復元)の手順について説明しています。

データベースの基本構造とphpMyadmin

WordPressに関する全てのデータは、自身のサーバースペースに用意された『データベース』にSQLファイルとして格納されます。

このデータベースを直接操作するのが、『phpMyadmin』と呼ばれる管理ツールです。

たいていのレンタルサーバーでは、ユーザーの管理画面からphpMyadminにアクセスできるようになっています。

パネルにアクセスすると、トップページはこんな感じです。

WordPress

管理画面の言語やフォントサイズ、カラーデザインなどは、ドロップダウンメニューで変更することが出来ます。

WordPress

左サイドメニューでデータベースを選択したら、次のような画面が現れます。

php データベース

WordPressのデフォルトのテーブルの数は、11個。
(WordPress本体のバージョンアップに伴い、自動的に新しいテーブルが追加されたり、構造が変わることがありますが、基本的にテーブルそのものを手動で変更することはありません)

それぞれのテーブルの働きは次の通りです。
参考サイト:WordPress公式サイト データベース概要

SQLファイルの読み方

まずファイルを開くと、次のような情報が現れます。

WordPress

phpMyadminやサーバー、PHPなどのバージョン情報が記載されています。

ここで重要なのは、『データベース名』。

データをインポートする場合は、ファイルを直接編集して、必ずデータベース名を一致させます。

次に、Dumpされた各テーブルの情報が名前順に記載されます。各テーブルは、点線で区切られています。

たとえば『wp_terms』の場合、【wp_】がインストール時に設定したテーブルの接頭語になります。

【shop】という接頭語にすれば、テーブル名は、『shop_categories』と表示されます。

次に、「CREATE TABLE IF NOT EXSISTS」で、「もしwp_termsが存在しないなら、これらのテーブルを作成する」という指示があり、term_ID、name、slugなど、さらに小テーブルに区分けされます。

各テーブルに格納された情報は、INSERT INTO(インサート文)の形で出力されます。

WordPress

SQLファイルの日本語が文字化けしている場合、お使いのテキストエディタの文字コードが誤っている可能性があります。
エンコードを『UTF-8』に設定して、再読込しましょう。
文字化けしたまま上書き保存するとファイルが壊れてしまいます。

次に、テーブルがどのように構成されているか、phpMyadminで見てみましょう。

『wp_terms』のすぐ右のアイコン(表示)をクリックします。

WordPress

すると、『wp_terms』の中の「小テーブル」が表示されます。

WordPress

SQLファイルでは次のように表示されます。

WordPress

いわば、WordPressの管理画面から入力したデータは、これらの大テーブル&小テーブルに自動的に分類され、SQLファイルは、それをまとまった形で引き出すわけですね。

よって、複数データを一気に、手早く編集したい場合は、いちいち管理画面を開かなくても、SQLファイルを直接編集することで可能になります。

ただし、編集に過って1つでもコンマを飛ばしたり、大事な項目をうっかり削除してしまうと、最悪、サイト全体が壊れてしまうので、非常にハイリスクな作業ではあります。

データベースのバックアップ

データベースの管理で非常に重要なのは、データのバックアップです。

どこのレンタルサーバーも管理には細心の注意を払っていますが、それでも100%安全とは言えないのが世の中ですし、自分のミスで、すべてのデータが消し飛んでしまうこともあります。

毎日のように更新しているサイトであれば1週間に1回、そうでなくても1ヶ月に1回は定期的にバックアップを行い、何かあっても、いつでもサイトが復元できるよう、つとめましょう。

データのバックアップは、『WP-DBManager』『WP-DB-Backup』『Online Backup for WordPress』といった有名なプラグインが幾つか公開されていますが、phpMyadminを使っても簡単に出来ます。

自分のデータベースがどうなっているか、自分の目で見て確認する為にも、phpMyadminを使った方法を是非マスターして下さい。

まずメニュータブから『エクスポート』をクリックし、次の画面に映ります。

php データベース

エクスポートするテーブルを選択します。
全体のバックアップを取る時は『全選択(=青色表示)』、テーブルを指定して保存する場合は、いったん「全選択解除」を選び、ターゲットのテーブルをクリックすれば青色表示になります。(複数指定の場合は、Ctrキーを押しながらクリック)

保存形式を選択します(通常、SQL)。

WordPress

次の項目にチェックを入れます。
(何のことか解らなくても、その通りにしましょう。数値やドロップダウンをいじらないで!)

WordPress

次に「ファイルに保存する」を選択し、エンコーディングは「non」で、画面右隅の『実行』をクリックします。

WordPress

するとダイアログが出ますので、「ファイルを保存する」を選択し、「OK」をクリックします。

WordPress

次に保存場所とファイル名を指定して、『保存』をクリックします。

ファイル名は自分が把握しやすいもの、日付を入れておくと分かりやすいです。

WordPress

データの大きさによっては少し時間がかかりますが、バックアップはこれで終了です。

バックアップファイルはこんな感じ……

WordPress

このSQLファイルさえあれば、いつでも保存した時点の状態に再現することができます。

ファイルが1点だけなので、うっかり削除してしまわないよう、注意して下さいね。

SQLファイルの中身はこんな感じ。

閲覧・編集する時は、『UTF-8』に対応したテキストエディタを使います。
(他の文字コードで開くと文字化けしてします)

WordPress

また、SQLファイルのサイズが大きいと、エディタがクラッシュすることもあるので、自分の使うエディタが何MBまで読み込み可能か、事前にチェックしておきましょう。

サーバーのお引っ越し(データ移動とサイト復元)

WordPressを長く運営していると、容量が大きくなったり、使い勝手が悪く感じたりで、サーバーを引っ越すこともあるかと思います。

時には、WordPress本体のバージョンアップやプラグインの不具合などから、サイトが正常に表示されなくなり、サイトの復元が必要になる場合もあるかもしれません。

WordPressの場合、SQLファイルに問題が無ければ、簡単にデータ移動やサイトの復元ができますので、今は必要なくても、いざという時の為に、基本の手順は理解しておいて下さいね。

データ移動&サイト復元の手順

  1. サイト用(画像、動画等)ファイルの保存
  2. データベースのバックアップ
  3. テーブル容量とサイト・ステータスの記録
  4. 新サーバーにWordPressをインストール
  5. SQLファイルのインポート
  6. テーブル容量の確認
  7. サイト・ステータスの確認とオプション設定
  8. 動画・画像等のファイルのアップロード

(1) サイト用ファイルの保存

画像、動画など、投稿記事に挿入しているファイルや、運営に欠かせないファイルをパソコンに保存して、バックアップを取ります。

WordPress

投稿画面のアップローダーから画像や動画をアップしている方は、「wp-contents」の「uploads」に保存しているデータのバックアップも忘れずに。

同じテーマ・テンプレートを使用する場合は、themes内のテンプレート・ファイルもしっかり保存しておきましょう。

WordPress

プラグインファイルやコアファイル(quicktag.jsなど)を個別に編集した場合は、ファイルそのものを保存するか、編集した箇所をメモしておきます。
(日頃から、自分が手を加えた重要な箇所はしっかり記録しておきましょう)

(2) データベースのバックアップ

SQLファイルのバックアップをとる要領は前述の通りですが、サーバー移転の場合は、「wp-options」のテーブルを外します。

wp-optionsのデータをそのままインポートすると、旧サイトのURLアドレスなど、サイトの基本設定をそのまま受け継ぐため、サイトが旧アドレスに飛んだり、パーマリンク設定で躓いたりするからです。
(「問題ない」という意見もありますが、サイトアドレスも変更するような場合は、絶対的に外した方がいいですよ。)

同じサーバー上でサイトを復元する時は、「wp-options」を含めてOKです。

この違いについて、しっかり認識しておいて下さい。

あと、投稿記事数が何百にも及び、SQLファイルが大きい場合は、『wp-post』とそれ以外のテーブルを別個に保存→インポートした方が無難です。

インポート容量を少しでも減らして、アップロードしやすくする為です。

『wp-post』だけで数MBにもなる場合は、別々での作業をおすすめします。

WordPress

SQLファイルは、念のため、2回保存するか、コピーをとって別の場所にキープしておきましょう。

(3) テーブル容量とサイト・ステータスの記録

データが完全な形でインポートされたか、後で確認する為に、現在のデータテーブルの容量とサイトステータスの記録を取っておきます。

まず、メニュータブの『構造』をクリックし、データテーブルの情報を表示します。

各テーブルのレコード数とサイズを記録します。
1つ1つメモするのは大変なので、画面をキャプチャし、画像ファイルとして保存すれば便利です。

WordPress

次に、サイト・ステータスを記録します。

管理画面「ダッシュボード」のこの部分です(画像には入っていませんが、コメント数も含みます)。
投稿数、ページ、カテゴリー、タグ、コメント数をメモしておきます。

WordPress

(4) 新サーバーにWordPressをインストール

インストールの手順は、『WordPressをインストールしよう』と同じです。

WordPressをインストールすれば、新しいデータベースに基本のテーブル10個が作成されます。

wp-optionsをバックアップ・ファイルに含まない場合、wp-optionsテーブルは空になっています。

今まで使用していた管理画面入室用のパスワードは使えなくなりますので、新しく発行されたパスワードを紛失しないよう、注意して下さい。

(5) SQLファイルのインポート

SQLファイルをテキストエディタで開くと、冒頭に、次のような情報が現れます。

新しいデータベースで使用する場合は、『データベース:”」で括られたデータベース名が一致するよう、エディターで編集して上書き保存します。

コンマ1つ飛んでも正常にインポートされなくなるので、編集は慎重に。

WordPress

phpMyadminにアクセスし、メニュータブから『インポート』を選択します。

『参照』をクリックして、インポートするSQLファイルを指定します。

サーバーによっては、インポートできる容量のサイズが限られていますので、インポートするファイルの大きさを必ず確認して下さい。

容量に問題がなければ、画面右隅の「実行する」をクリックします。

ファイルの容量が3MBぐらいになってくると、読み込みに非常に時間がかかります。

「一瞬、フリーズしたのか」と思うかもしれませんが、次のメッセージが現れるまで、リロードしたり、何度も実行ボタンを押したり、接続をリセットするような事は絶対に避けて下さい。

WordPress

成功すれば、『インポートは正常終了しました』というメッセージ画面が現れます。

WordPress

(6) テーブル容量の確認

『構造』の画面に戻り、テーブル容量が一致するかチェックします。

若干、誤差が出る事がありますが、ほとんど同じ数値であればOKとします。

ここで大きな誤差が出た場合は、残念ながら、インポートに失敗した可能性がありますので、もう一度、手順を確認し、一からやり直します。

私も以前、何の確認もせずにサーバー移動を完了し、数ヶ月経ってから、過去記事のいくつかが抜け落ちていることに気付き、取り返しのつかない事をしてしまった経験があります。

(7) サイト・ステータスの確認とオプションの再設定

新しく発行されたパスワードでWordPress管理画面に入室します。

管理画面『ダッシュボード』を開き、投稿数やカテゴリー数など、サイト・ステータスが旧サイトと一致するか確認します。

一致していれば、サイトURLやパーマリンクなど、オプションを再設定します。

(8) 動画・画像ファイル等のアップロード

記事内に挿入している動画や画像ファイル、使用するテンプレート・ファイル等をアップロードします。

サイトURLにアクセスして、問題なく表示されれば、引っ越し完了です。

Site Footer