• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

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

提供: WordPress Codex 日本語版
移動先: 案内検索

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

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

注意: このページにある手順は投稿、固定ページ、コメントなどを含む WordPress のデータベースをバックアップしますが、サーバー上の画像やテーマファイルなどのファイルやフォルダはバックアップされません。WordPress サイト全体のバックアップについては、WordPress のバックアップを参照してください。

cPanel X を使用したバックアップ

cPanel は多くのホスティングサーバーで使用されている管理パネルです。バックアップ機能を使用して MySQL データベースをバックアップできます。ただしフルバックアップは純粋にアーカイブ目的であり、また cPanel を使用して復元できないため取得しないでください。「Download a MySQL Database Backup」にてデータベース名をクリックします。ローカルドライブに *.gz ファイルがダウンロードされます。

復元の際に、このファイルを解凍する必要はありません。同じ cPanel プログラムを使用して gz ファイルを指定してアップロードします。アップロードが完了するとブラウザのステータスバーに「dump complete」と表示されます。新しいホストにアップロードする場合は同じユーザー名、パスワードでユーザーを再作成する必要があります。パスワードを変更する場合は、wp-config.php ファイルの対応する箇所も変更してください。

phpMyAdmin の使用

phpMyAdmin は MySQL データベースを管理するプログラムです。

以下の情報は linux 上の MySQL 5.6.28 に接続する phpMyAdmin 4.4.13 で取得、確認しています。

phpMyAdmin 起動画面

簡易バックアップの手順

WordPress データベースに含まれるすべてのテーブルを圧縮せずにバックアップする場合は、簡単な手順で実行できます。この手順で実行されたバックアップを復元する場合、復元先のデータベースは空である必要があります。

  1. サーバー上の phpMyAdmin にログインする。
  2. 左ウィンドウで、WordPress データベースを選択する。ここでは「wp」というデータベースを使っていることとします。
  3. 右ウィンドウに WordPress データベースに含まれるテーブルの一覧が表示されます。
    上のタブメニューで「エクスポート」を選択する。
  4. WordPress のデータベース概観

  5. 「簡易」オプションが選択されていることを確認して、「実行」をクリックする。すべてのテーブルが SQL 形式でエクスポートされます。エクスポートされたファイルを保存してください。
  6. 簡易エクスポート

詳細バックアップの手順

デフォルトの動作を変更するには、カスタムバックアップを選択します。

  1. 上の手順4で、「詳細」オプションを選択する。詳細なオプションが表示されます。
  2. 詳細エクスポート

  3. 「テーブル」セクション
  4. データベース内のすべてのテーブルが選択されています。

    • データベースを使用する他のプログラムがある場合は WordPress に関連するテーブルのみを選択します。「wp_」または 'wp-config.php' の 'table_prefix' で指定された接頭辞で始まるテーブルが対象です。
    • WordPress のみをインストールしている場合は、デフォルトのままで構いません。もしも変更した場合は、「全選択」をクリックします。
  5. 「出力」セクション
  6. データを圧縮するには、「圧縮」ボックスで「zip形式」または「gzip形式」を選択します。

    エクスポート「出力」セクション

  7. 「フォーマット」セクション
  8. 「SQL」が選択されていることを確認してください。このオプションでは CSV や他のデータ形式と異なり、一連の SQL コマンドがエクスポートされます。

  9. 「フォーマット特有のオプション」セクション
  10. デフォルトのままで構いません。

    エクスポート「フォーマット特有のオプション」セクション

  11. 「生成オプション」セクション
  12. 「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」オプションを選択します。復元するデータベース上でテーブルを作成する前に、同名のテーブルが存在すれば DROP コマンドでこれを削除します。

    エクスポート「生成オプション」セクション

  13. 「データ生成オプション(Data creation options)」セクション
  14. デフォルトのままで構いません。

    エクスポート「データ生成オプション」セクション

  15. 「エンコーディングへの変換」セクション
  16. デフォルトのままで構いません。

    エクスポート「エンコーディングへの変換」セクション

  17. 「実行」をクリックするとダウンロードするファイル名が表示されます。コンピュータにファイルを保存します。
    データベースのサイズによってはしばらく時間がかかる場合があります。

注意 - 上の手順では画像を含むファイルやフォルダーはバックアップされていません。WordPress サイトの投稿、固定ページ、コメント、設定などのバックアップは完了しています。

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

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

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

  1. データベースのバックアップを出力するディレクトリに移動する。
  2. user@linux:~> cd files/blog
    user@linux:~/files/blog>
    
  3. mysqldump に MySQL サーバー名、ユーザー名、データベース名を指定して実行する。パスワードを入力するプロンプトが表示されます(詳細については man mysqldump を参照してください)。
  4. データベース内のすべてのテーブルをバックアップするには
    mysqldump --add-drop-table -h MySQLサーバー名 -u MySQLユーザー名 -p MySQLデータベース名
    いくつかのテーブルを選択してバックアップするには
    mysqldump --add-drop-table -h MySQLサーバー名 -u MySQLユーザー名 -p MySQLデータベース名 MySQLテーブル名1 MySQLテーブル名2 MySQLテーブル名3

    例:

    user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp > blog.bak.sql
    Enter password: (パスワードを入力する)
    
  5. bzip2 を使用してバックアップファイルを圧縮する。
  6. user@linux:~/files/blog> bzip2 blog.bak.sql
    

上の2つのコマンドは1行で実行できます。

user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp | bzip2 -c > blog.bak.sql.bz2
Enter password: (パスワードを入力する)

パイプ記号 | の後の bzip2 -c はその場で圧縮することを意味し、> blog.bak.sql.bz2bzip の出力をファイル blog.bak.sql.bz2 に保存することを意味します。

bzip2 は .Z、.zip、.gz など他の古い圧縮アルゴリズムよりもほとんどのファイルを効率よく圧縮しますが、圧縮、解凍には比較的時間がかかります。巨大なデータベースをバックアップする場合には、より高速な gzip を使用してください。

user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp | gzip > blog.bak.sql.gz

MySQL Workbench の使用

MySQL Workbench (旧称 My SQL Administrator) は管理操作を実行するプログラムです。MySQL サーバーの構成、状態やパフォーマンスのモニタリング、開始と停止、ユーザーや接続の管理、バックアップの取得と復元、その他、多数の管理タスクを実行できます。

これらのタスクの大部分は mysqladminmysql などのコマンドラインインターフェースを使用して実行できますが、MySQL Workbench には次のような利点があります。

  • GUI (グラフィカルユーザーインターフェース)により、直感的に操作できます。
  • MySQLサーバーのパフォーマンス、信頼性、セキュリティに関する重要な設定を分かりやすく概観できます。
  • Linux、Windows、MacOS X で使用でき、リモートクライアントからプラットフォームの相違を超えてデータベースをバックアップできます。リモートサーバー上の MySQL データベースに対してアクセス権を持っていれば、書き込み可能などんな場所にでもデータをバックアップできます。
  • phpMyAdmin と異なり、バックアップ可能なデータベースの容量制限がありません。

以下の情報は linux 上の MySQL 5.6.28 に接続する MySQL Workbench 6.3.6 で取得、確認しています。

MySQL Workbench 起動画面

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

ここでは MySQL Workbench のインストール、構成は完了し、ローカルまたはリモートの MySQL データベースサーバーに接続できているものとします。プラットフォームごとのインストール手順については MySQL Workbench のインストールパッケージに付属するドキュメント、またはオンラインドキュメントを参照してください。

  1. MySQL Workbench を起動する。
  2. トップページに接続先のサーバーが表示されていればこれをクリックする。またはメニューの「Database」->「Connect Database」をクリックし、必要な情報を入力して「OK」をクリックする。
  3. 左ウィンドウの「Data Export」をクリックする。
  4. Data Export

  5. バックアップする WordPress データベースを選択する。
  6. 「Export Options」グループで保存先のディレクトリを指定する。ディレクトリには書き込み権限が必要です。
  7. 画面右下の「Start Export」をクリックする。
  8. Data Export データベースの選択

バックアップの復元

  1. MySQL Workbench を起動する。
  2. トップページにインスタンスが接続先のデータベースが表示されていればこれをクリックする。またはメニューの「Database」->「Connect Database」をクリックし、必要な情報を入力して「OK」をクリックする。
  3. 左ウィンドウの「Import/Restore」をクリックする。
  4. バックアップファイルを含むフォルダーを指定する。「Import from Dump Project Folder」右側の「...」をクリックし、バックアップを取得したフォルダーを選択して、「Open」をクリックする。
  5. 画面右下の「Start Import」をクリックする。データベースの復元が始まります。
  6. Data Import

MySQL 用 GUI ツール

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

名称 日本語版 有償版 OS 無償版 OS 備考
MySQL Workbench 日本語化用情報 - Windows/OS X/Linux(詳細 MySQL AB 提供
「MySQL Workbench の使用」節参照
EMS SQL Management Studio for MySQL - Windows -
Aqua Data Studio 日本語版 Windows/Mac/Linux Windows/Mac/Linux (14日トライアル) 9言語サポート
Navicat for MySQL 日本語版 Windows/Mac/Linux Windows/Mac/Linux (14日トライアル) 8言語サポート
SQLyog - Windows -
Toad for MySQL - - Windows
HeidiSQL - - Windows
Sequel Pro - - Mac CocoaMySQL の後継プロジェクト
Querious - - Mac


WordPress Database Backup プラグインの使用

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

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

  1. 管理画面 > プラグイン > 新規追加 をクリックし、「WP-DB-Backup」を検索する。
  2. 「今すぐインストール」をクリックする。
  3. プラグインを有効化する。

バックアップ

  1. 管理画面 > ツール > バックアップ をクリックする。
  2. 主要な WordPress テーブルは常にバックアップされます。必要であれば「テーブル」セクションでオプションを選択する。

WordPress Database Backup プラグイン「テーブル」セクション

  1. バックアップ設定を選択する。バックアップはダウンロードするか、メールで送信できる。
  2. 最後に「バックアップ!」をクリックして、バックアップを実行する。定期バックアップを設定することもできます。

WordPress Database Backup プラグイン「設定」セクション

データの復元

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

関連ページ

外部資料

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

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