万が一、当サイトで重大な問題を発見した際などは、フォーラムや WordSlack #docs チャンネルでお知らせください。</p>
データベースのバックアップ
ブログで書きためた大事なデータを守るため、定期的にデータベースのバックアップを取りましょう。また、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 で取得、確認しています。
簡易バックアップの手順
WordPress データベースに含まれるすべてのテーブルを圧縮せずにバックアップする場合は、簡単な手順で実行できます。この手順で実行されたバックアップを復元する場合、復元先のデータベースは空である必要があります。
- サーバー上の phpMyAdmin にログインする。
- 左ウィンドウで、WordPress データベースを選択する。ここでは「wp」というデータベースを使っていることとします。
- 右ウィンドウに WordPress データベースに含まれるテーブルの一覧が表示されます。
上のタブメニューで「エクスポート」を選択する。 - 「簡易」オプションが選択されていることを確認して、「実行」をクリックする。すべてのテーブルが SQL 形式でエクスポートされます。エクスポートされたファイルを保存してください。
詳細バックアップの手順
デフォルトの動作を変更するには、カスタムバックアップを選択します。
- 上の手順4で、「詳細」オプションを選択する。詳細なオプションが表示されます。
- 「テーブル」セクション
- データベースを使用する他のプログラムがある場合は WordPress に関連するテーブルのみを選択します。「wp_」または 'wp-config.php' の 'table_prefix' で指定された接頭辞で始まるテーブルが対象です。
- WordPress のみをインストールしている場合は、デフォルトのままで構いません。もしも変更した場合は、「全選択」をクリックします。
- 「出力」セクション
- 「フォーマット」セクション
- 「フォーマット特有のオプション」セクション
- 「生成オプション」セクション
- 「データ生成オプション(Data creation options)」セクション
- 「エンコーディングへの変換」セクション
- 「実行」をクリックするとダウンロードするファイル名が表示されます。コンピュータにファイルを保存します。
データベースのサイズによってはしばらく時間がかかる場合があります。
データベース内のすべてのテーブルが選択されています。
データを圧縮するには、「圧縮」ボックスで「zip形式」または「gzip形式」を選択します。
「SQL」が選択されていることを確認してください。このオプションでは CSV や他のデータ形式と異なり、一連の SQL コマンドがエクスポートされます。
デフォルトのままで構いません。
「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」オプションを選択します。復元するデータベース上でテーブルを作成する前に、同名のテーブルが存在すれば DROP コマンドでこれを削除します。
デフォルトのままで構いません。
デフォルトのままで構いません。
注意 - 上の手順では画像を含むファイルやフォルダーはバックアップされていません。WordPress サイトの投稿、固定ページ、コメント、設定などのバックアップは完了しています。
コマンドラインを使った MySQL/MariaDB の実行
データベースのサイズが極端に大きい場合、PHPMyAdmin では扱うことができません。その場合には、コマンドラインから直接 MySQL/MariaDB を使うとよいでしょう。
この方法でバックアップを取るには、サーバーの shell アカウントが必要です。
データベースのバックアップ
- データベースのバックアップを出力するディレクトリに移動する。
mysqldump
に MySQL サーバー名、ユーザー名、データベース名を指定して実行する。パスワードを入力するプロンプトが表示されます(詳細についてはman mysqldump
を参照してください)。- データベース内のすべてのテーブルをバックアップするには
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
bzip2
を使用してバックアップファイルを圧縮する。
user@linux:~> cd files/blog user@linux:~/files/blog>
例:
user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp > blog.bak.sql Enter password: (パスワードを入力する)
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.bz2
は bzip
の出力をファイル 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 サーバーの構成、状態やパフォーマンスのモニタリング、開始と停止、ユーザーや接続の管理、バックアップの取得と復元、その他、多数の管理タスクを実行できます。
これらのタスクの大部分は mysqladmin や mysql などのコマンドラインインターフェースを使用して実行できますが、MySQL Workbench には次のような利点があります。
- GUI (グラフィカルユーザーインターフェース)により、直感的に操作できます。
- MySQLサーバーのパフォーマンス、信頼性、セキュリティに関する重要な設定を分かりやすく概観できます。
- Linux、Windows、MacOS X で使用でき、リモートクライアントからプラットフォームの相違を超えてデータベースをバックアップできます。リモートサーバー上の MySQL データベースに対してアクセス権を持っていれば、書き込み可能などんな場所にでもデータをバックアップできます。
- phpMyAdmin と異なり、バックアップ可能なデータベースの容量制限がありません。
以下の情報は linux 上の MySQL 5.6.28 に接続する MySQL Workbench 6.3.6 で取得、確認しています。
データベースのバックアップ
ここでは MySQL Workbench のインストール、構成は完了し、ローカルまたはリモートの MySQL データベースサーバーに接続できているものとします。プラットフォームごとのインストール手順については MySQL Workbench のインストールパッケージに付属するドキュメント、またはオンラインドキュメントを参照してください。
- MySQL Workbench を起動する。
- トップページに接続先のサーバーが表示されていればこれをクリックする。またはメニューの「Database」->「Connect Database」をクリックし、必要な情報を入力して「OK」をクリックする。
- 左ウィンドウの「Data Export」をクリックする。
- バックアップする WordPress データベースを選択する。
- 「Export Options」グループで保存先のディレクトリを指定する。ディレクトリには書き込み権限が必要です。
- 画面右下の「Start Export」をクリックする。
バックアップの復元
- MySQL Workbench を起動する。
- トップページにインスタンスが接続先のデータベースが表示されていればこれをクリックする。またはメニューの「Database」->「Connect Database」をクリックし、必要な情報を入力して「OK」をクリックする。
- 左ウィンドウの「Import/Restore」をクリックする。
- バックアップファイルを含むフォルダーを指定する。「Import from Dump Project Folder」右側の「...」をクリックし、バックアップを取得したフォルダーを選択して、「Open」をクリックする。
- 画面右下の「Start 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 以降では取り除かれました。
プラグインのインストール
バックアップ
- バックアップ設定を選択する。バックアップはダウンロードするか、メールで送信できる。
- 最後に「バックアップ!」をクリックして、バックアップを実行する。定期バックアップを設定することもできます。
データの復元
バックアップファイルは標準的な SQL 形式のファイルとなります。 このファイルを使ったサイトの復元(アップロード)の方法については、データベースの復元を参照してください。
関連ページ
- 公式 WordPress.org プラグインリポジトリー内のバックアッププラグイン
- WordPress のバックアップ -- データベースに格納されていない情報(画像、カスタマイズしたテーマなど)のバックアップ方法
- データベースの復元(リストア) -- 取得したバックアップファイルのデータから WordPress を復元する方法
- データベース概要 -- データベーステーブルと項目の一覧
外部資料
- Odysseygate.com » WordPressサーバー移転まとめ
- phpMyAdmin を用いたスクリーンショット付きのバックアップ手順(2007年1月)
- スタジオ FIX » AmazonEC2で、WordPressのMySQLをバックアップ
- mysql コマンドを使ったバックアップの方法(2010年2月)