勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法

MySQLのバックアップを取る際にadminerとかから手動で対応するのではなくプログラムで何とかしたい。良さそうなライブラリが無いか探したところ「myphp-backup」というライブラリがComposer不要で導入でき、尚且つ簡単にバックアップを取れた。以下に対応方法をメモ。

 

myphp-backup

公式サイト

https://github.com/daniloaz/myphp-backup

 

対応方法

バックアップファイルの作成

こちらのページからmyphp-backup.phpをダウンロードし、以下の部分を書き換えアップロードする。

define("DB_USER", 'your_username');
define("DB_PASSWORD", 'your_password');
define("DB_NAME", 'your_db_name');
define("DB_HOST", 'localhost');

ブラウザからmyphp-backup.phpのページを開くと「/myphp-backup-files/myphp-backup-test_xxxxxxxxxx.sql.gz」のような形でバックアップファイルが生成される筈。

生成されない場合はディレクトリのパーミッションを確認すること。

バックアップファイルのインポート

adminerで対応する場合

「/myphp-backup-files/myphp-backup-test_xxxxxxxxxx.sql.gz」をそのままインポートする。

もしくは「/myphp-backup-files/myphp-backup-test_xxxxxxxxxx.sql.gz」を展開し、sqlファイル内容をコピーしSQLコマンドで実行する。

ライブラリで対応する場合

こちらのページからmyphp-restore.phpをダウンロードし、以下の部分を書き換えアップロードする。

define("DB_USER", 'your_username');
define("DB_PASSWORD", 'your_password');
define("DB_NAME", 'your_db_name');
define("DB_HOST", 'localhost');
define("BACKUP_FILE", 'myphp-backup-your_db_name-20181022_164459.sql.gz');

ブラウザからmyphp-restore.phpのページを開くとインポートできる。

インポートできない場合はバックアップファイルのファイル名や設置ディレクトリを確認すること。

 

所感

system関数でmysqldumpで実行できないような環境(レンタルサーバ)で使うことになると思うので、Composer不要且つファイル1枚で導入できるのがありがたい。

尚、似たようなライブラリで「mysqldump-php」というのもあり、こちらの方が高機能でスター数が多い。こちらもその内試してみたいところ。

 - PHP MySQL データベース