====== MySQLDBバックアップ&リストア ======
ここではZoneExpress環境での、MySQLデータベースのバックアップ方法について記載します。
===== ■コマンドラインからのMySQLDBのバックアップ =====
==== バックアップデータ保存ディレクトリの作成 ====
ここでは、"/var/tmp/mysql_bkup配下"にバックアップデータを保存します。
$ mkdir -p /var/tmp/mysql_bkup
$ cd /var/tmp/mysql_bkup
==== バックアップコマンドの実行 ====
ここでは、"DATABASE.sql"という名前でバックアップデータを保存します。
$ mysqldump -u -p --opt <データベース名> > DATABASE.sql
各オプションの説明
|--u|MySQLユーザ名を指定するオプション|
|--p|MySQLパスワードを指定するオプション|
|----opt|ダンプを最適化するオプション|
,は環境によって異なります。
<データベース名>にはバックアップを実施するデータベース名を入力ください。
=== ※(参考)コマンド実行例 ===
testDBをDATABASE.sqlという名前で保存します。
$ mysqldump -u root -p**** --opt testDB > DATABASE.sql
すべてのMySQLDBをDATABASE.sqlという名前で保存し、.gz形式に圧縮します。
$ mysqldump -u root -p**** --opt --all-databases | gzip > DATABASE.sql.gz
\\
===== ■Webminを利用したバックアップ =====
==== 手動バックアップの実行 ====
下記URLへアクセスし、Webminへログインしてください。
|https://△△△:10010|
httpsであることに注意してください。
メニュー左上からWebminを選択します。
左メニューのサーバのプルダウンメニューから
MySQLデータベースサーバを選択します。
ページ最下部よりBackup Databaseを選択します。
メニュー上部のBackup destinationを設定します。
Backup to directoryが空欄だとバックアップデータは"/"直下に保存されます。
手順内では"/var/tmp/mysql_bkup配下"にバックアップデータを保存しています。
^^{{:db:mysql1.jpg|Webmin画面参考}}^^
メニュー中部のOther backup optionsの
"Compression format"から保存形式をgz,bzip2形式から選べます。
ページ最下部の今すぐバックアップを選択すると実行されます。
\\
==== バックアップの自動実行 ====
Backup Scheduleを設定しておくと設定時間にバックアップが自動実行されます。
下記は、毎週水曜3時30分にバックアップデータを/var/tmp/mysql_bkupに保存する場合の設定例です。
^^{{:db:mysql2.jpg|Webmin画面参考}}^^
"バックアップスケジュールを実行可能にしますか?" で"はい"を選択し
ページ最下部の"保存"を選択して完了です。
\\
===== ■コマンドからのDBバックアップのリストア(復旧) =====
==== バックアップデータの準備 ====
バックアップデータが保存されているディレクトリへ移動します。
$ cd /var/tmp/mysql_bkup
".gz"もしくは".bz2"で保存されている場合は解凍する。
※ファイル拡張子により、コマンドが異なります。
".gz"の場合。
$ sudo gunzip /var/tmp/mysql_bkup/<バックアップデータ名>
".bz2"の場合。
$ sudo bzip2 -d /var/tmp/mysql_bkup/<バックアップデータ名>
==== リストアコマンドの実行 ====
$ mysql -u -p <データベース名> < DATABASE.sql
各オプションの説明
|--u|MySQLユーザ名を指定するオプション|
|--p|MySQLパスワードを指定するオプション|
,は環境によって異なります。
<データベース名>にはリストアを実施するデータベース名を入力ください。
=== ※(参考)コマンド実行例 ===
testDBをDATABASE.sqlという名前で保存したバックアップデータを使用し、リストアします。
$ mysql -u root -p**** testDB < DATABASE.sql
すべてのMySQLDBをDATABASE.sqlという名前で保存したバックアップデータを使用し、リストアします。
$ mysql -u root -p**** < DATABASE.sql