phpMyBackupPro――最も簡単に扱えるMySQL用バックアップツール

 MySQLデータベースを利用したブログやwikiなどのWebベースアプリケーションを運用している人間にとって、データベースエンジンに登録されたデータのバックアップは重要な課題の1つである。実際、データベースへの登録データをSQLクエリ形態でエクスポートする機能を備えたMySQL管理ソリューションは多数存在しているが、専用のMySQLバックアップツールを要望するなら phpMyBackupPro (pMBP)が最適な選択肢と言っていいだろう。

 pMBPのインストールに伴う作業負担は、ダウンロードしたtarボールを展開して作成されるディレクトリを各自のサーバにアップロードする程度のものでしかない。ただしpMBPの付属マニュアルでは、セキュリティ的な観点からglobal_conf.phpファイルはサーバ上の別ディレクトリに移動しておくことが推奨されている。なおこれを行う場合は、definitions.phpファイルにあるglobal_conf.phpへのパスも変更しておかなくてはならない。具体的な操作としては、テキストエディタでこのファイルを開いて下記の行に移動する。

$_PMBP_GLOBAL_CONF="global_conf.php";

 ここに記されているのはデフォルトの設定値であるので、これを下記のように変更後のglobal_conf.phpファイルへの相対パスに置き換える。

$_PMBP_GLOBAL_CONF="../pmbp/global_conf.php";

 最後に、global_conf.phpファイルおよびエクスポート用ディレクトリのパーミッションを777に変更して書き込み可能としておけば、pMBPの使用準備は整ったことになる。後はブラウザを起動して「http://yourserver/phpmybackuppro/config.php」にアクセスし、SQLデータセクションのフィールドに必要事項を入力する。なおここで使用したMySQLのユーザ名とパスワードは、次回以降のpMBPアクセス時にも同じ値を入力しなくてはならない。

 pMBPによるバックアップでは、データベースの登録データが単一のSQLファイルとしてエクスポート用ディレクトリに保存される仕様になっている。またpMBPは、バックアップデータのアップロード先をリモートFTPサーバとするオフサイトバックアップにも対応しているが、この機能を使用するには「Save backups per FTP」チェックボックスを有効化した上で、所定のフィールド群に必要な情報を入力しておかなくてはならない。同様の機能として、指定の電子メールアドレスにバックアップデータのファイルをメール送信するというオプションも用意されている。この場合は「Use email」チェックボックスを有効化して「Email address」フィールドに送信先アドレスを入力しておけばいい。

pmbp_thumb.png
phpMyBackupPro

 次に設定どおりに動作するかを検証するため、Backupセクションに移動し、「Export tables」、「Export data」、「Add ‘drop table’」チェックボックスが有効化されていることを確認してから、「Backup」ボタンをクリックする。設定に問題がなければ、バックアップが正常に実行されたことを告げるメッセージが表示されるはずである。その後「Import」セクションに移動して、バックアップファイルのリストに新規エントリが追加されていることを確認しておく。ここには、バックアップファイルの表示、ハードディスクへのダウンロード、削除などを行うためのコマンド群も用意されているが、これらの中でも特に重要なのはデータベースを復元するための「Import」コマンドである。

 バックアップを手作業で実行するのが負担と感じるユーザや管理者にとって有り難いことに、pMBPではスケジュールバックアップ機能もサポートされている。スケジュールバックアップの設定は、pMBP上でのバックアップ用スクリプトの作成および、スクリプトを実行させるトリガ関連のセットアップという2つのステップで実行する。このうち1つ目のステップについては特に複雑な点はない。まず「Schedule backups」セクションに移動して「Backup period」ドロップダウンリストからバックアップのインターバルを選択し、次にバックアップファイルの保存先を指定してから「Show script」ボタンをクリックする。こうして作成したスクリプトに名前を付けて「Save data」ボタンを押せば、指定の格納先にスクリプトが保存される。

 2つ目のトリガ設定に関しては複数の方法があるとpMBPのマニュアルに説明されている。具体的な方法としては、例えば作成したバックアップスクリプトを他のPHPファイルに直接組み込んでおくこともできるが、あるいは下記のようなコードを用いて、異なるPHPファイル(index.phpなど)からバックアップスクリプトを間接的に呼び出すという方式も使える。

require_once("../phpmybackuppro/export/scheduled_backup.php");

 ここでの「../phpmybackuppro/export/scheduled_backup.php」には、実際のバックアップスクリプトの格納先を指定しておく。

 pMBPでは、異なるMySQLサーバで使われている複数のデータベースを処理することもできる。この機能を利用する場合、まずglobal_conf.phpファイルと同じディレクトリにglobal_conf_sql.phpファイルをコピーしておく。そしてdefinitions.phpファイルを開いて下記の行に移動する。

define('PMBP_GLOBAL_CONF_SQL',"global_conf_sql.php")

 この行については下記のようにデフォルト値を、実際のglobal_conf_sql.phpファイルへの相対パスに置き換えておく。

define('PMBP_GLOBAL_CONF_SQL',"../pmbp/global_conf_sql.php")

 最後にglobal_conf_sql.phpファイルに書き込み許可を与えた上でテキストエディタで編集し、MySQL関連の必要な情報を記入しておけばいい。

まとめ

 数あるMySQL用のバックアップソリューションの中でも、操作性と完成度の点において筆頭に挙げられるのがpMBPである。サーバ上でMySQLベースのアプリケーションを運用しているユーザにとって、貴重なデータを最低限の手間でバックアップできるpMBPは必携のツールだと断言してもいいだろう。

Dmitri Popovは、フリーランスのライターとして、ロシア、イギリス、アメリカ、ドイツ、デンマークのコンピュータ雑誌に寄稿している。

Linux.com 原文