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

出典: WordPress Codex 日本語版

ブログで書きためた大事なデータを守るため、定期的にデータベースのバックアップを取りましょう。また、WordPress をアップグレードする 前にもバックアップを取っておくことをおすすめします。

MySQL データベースのバックアップを取るには、phpMyAdmin やコマンドライン、各種 GUI ツールの利用など色々な方法があります。また、WordPress 用のプラグインを使えば、管理画面からのバックアップ作成や定期バックアップ取得が行えます。

注意: このページにある手順ではサーバー上のファイルとフォルダ(アップロード画像、テーマファイルなど)はバックアップされません。WordPress のバックアップをご覧ください。

phpMyAdmin の使い方

目次

phpMyAdmin とは、MySQL データベースを管理するために使えるプログラムの名称です。
以下の作業は、UNIX 上の phpMyAdmin 3.2.4 で実行しています。

バックアップの取り方

  1. サーバー上の phpMyAdmin にログインします。
  2. ログイン後のメイン画面から、WordPress のデータベースを選びます。
    ここでは、wp_demo というデータベースを使っていることとします。
    Image:Mysql-select-database.png
  3. 次のページでは、WordPress データベースに含まれるテーブルの一覧が表示されます。
    画面上部のタブで、「エクスポート」をクリックしてください。
    Image:Mysql-click-export.png
  4. エクスポート画面の左上にあるリストボックスに、ステップ2で選択したデータベース内のテーブルが全て表示されているはずです。
    Image:Mysql-export-tables.png
    • WordPress 用のテーブルしかなければ、リストの上にある「全選択」をクリックします。
    • このデータベースを WordPress 以外のプログラムと共用している場合や、複数の WordPress で共用している場合には、エクスポートしたい WordPress インストールのみのテーブルを選択します(wp-config.php 内の table_prefix を接頭辞とするテーブルすべて)。
  5. 「SQL」ラジオボタンをオンにします。
    Image:Mysql-select-eql.png
  6. 画面右上の「オプション」セクションで、以下のチェックボックスをオンにします。
    • DROP TABLE / VIEW / PROCEDURE / FUNCTION を追加
    • IF NOT EXISTS を追加
    • AUTO_INCREMENT 値を追加する
    • テーブル名やフィールド名を逆クォートで囲む
    Image:Sql-export-option-1.png
  7. さらに下のセクションでは、「データ」(見出し)以外のチェックボックスは外しておきます。
    Image:Sql-export-option-2.png
  8. その下で、「ファイルで保存する」のチェックボックスをオンにします。「ファイル名のテンプレート」はそのままで構いません。
    Image:Sql-export-save.png
  9. 圧縮タイプを選び、「実行する」ボタンをクリックし、ファイルを保存しましょう。
    データベースのサイズによっては、しばらく時間がかかるかもしれません。
  10. これで、WordPress サイトの投稿、固定ページ、コメント、設定などのバックアップが完了しました。

コマンドラインを使った MySQL の実行

データベースのサイズが極端に大きい場合、PHPMyAdmin では扱うことができません。その場合には、コマンドラインから直接 mysql を使うとよいでしょう。
この方法でバックアップを取るには、サーバーの shell アカウントが必要です。

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

  1. データベースの中身をダンプしたいディレクトリに移動します。
    user@linux:~> cd files/blog
  2. mysqldump を起動します(詳しい使い方は man mysqldump をご覧ください)。
    user@linux:~/files/blog> mysqldump --add-drop-table
     -h mysqlのサーバー名 -u mysqlのユーザ名 -p mysqlのパスワード (テーブル名 テーブル名 テーブル名)
     | bzip2 -c > blog.bak.sql.bz2
    
    Enter password: (mysql パスワードを入れてください)
    user@linux~/files/blog>
    パイプ記号 | の後の bzip2 -c は、その場で圧縮することを意味します。

バックアップファイルからの復元

  1. バックアップの .bz2 ファイルを展開します。
    user@linux:~/files/blog> bzip2 -d blog.bak.sql.bz2
  2. 展開したファイルの SQL を mysql に戻します:
    user@linux:~/files/blog> mysql -h mysqlhostserver -u mysqlusername -p databasename < blog.bak.sql
    Enter password: (mysql パスワードを入れてください)
    user@linux~/files/blog:> 

バックアップ用プラグインの使い方

WP-DB-Backup という WordPress データベースバックアップ用プラグインを Austin Matzko がメンテナンスしています(原作者は Skippy)。このプラグインは WordPress Database Backup という名称で WordPress 2.0 に同梱されていましたが、2.1 以降では取り除かれました。

プラグインのインストール

  1. 管理画面の「プラグイン > 新規追加」から WP-DB-Backup を検索し、インストール・有効化します。
  2. プラグインは、WordPress 内に /wp-content/backup-*/ というディレクトリの作成を試みます。
    • 失敗する場合は wp-content フォルダに(一時的な)書き込み権限を与えてください。

バックアップ

  1. 「ツール > バックアップ」メニューをクリックします。
  2. バックアップしたいデータベーステーブルを選びます。
  3. バックアップファイルの保存形式を選んですぐにバックアップを取るか、定期バックアップの設定を行います。

データの復元

バックアップファイルは標準的な SQL 形式のファイルとなります。 このファイルを使ったサイトの復元(アップロード)の方法については、データベースの復元を参照してください。

GUI ツール

デスクトップから MySQL データベースの操作ができるソフトウェアは、GUI ツール、GUI クライアントなどと呼ばれています。バックアップの取得以外にも、様々な用途に使えます。詳しくは各ツールのドキュメンテーションをご覧ください。

名称 日本語版 有償版 OS 無償版 OS 備考
MySQL Workbench 日本語化用情報 Windows/Mac OS X/Ubuntu/Fedora(詳細MySQL AB 提供
EMS SQL Management Studio for MySQL - Windows -
Aqua Data Studio 日本語化済み - Windows/Linux/OS X
Navicat for MySQL 日本語版 Windows/Mac Mac(Lite
SQLyog - Windows -
Toad for MySQL - - Windows
HeidiSQL - - Windows
Sequel Pro - - Mac CocoaMySQL の後継プロジェクト
Querious - - Mac

関連ページ

外部資料

Odysseygate.com » WordPressサーバー移転まとめ
phpMyAdmin を用いたスクリーンショット付きのバックアップ手順(2007年1月)
スタジオ FIX » AmazonEC2で、WordPressのMySQLをバックアップ
mysql コマンドを使ったバックアップの方法(2010年2月)

最新英語版: WordPress Codex » Backing Up Your Database最新版との差分