_live Ubuntu 12.04 server
_にMySQL database (InnoDB)
があり、非常に大きくなっています(25GB以上)。
毎月かそこらで、ローカルで作業するためにこのデータベースを開発マシンにコピーする必要があります。
以前は、_MySQL Workbench
_を使用してデータベースをエクスポートし、_.sql
_ファイルを開発マシンにダウンロードして、再度_MySQL Workbench
_を使用してインポートしました。問題は、データベースが非常に大きいため、週末に完了するほど速く復元できないことです。したがって、月曜日の朝には、インポートするデータベースが半分必要です。
この状況で他の人は何をしますか?
これまでに考えられる唯一の解決策は、未使用のマシンに復元してから、すべての開発マシン(そのうち5つ)にデータをcopying
することです。これはうまくいくでしょうか?
Xtrabackup を使用して、ライブMySQLからバックアップを取得できます。
PerconaはUbuntuにdebリポジトリを提供します。 Ubuntu 12.04のリポジトリをインストールするには、 instructions に従ってください:
キーをインストールします。
# apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
ソースファイルを追加します。
# cat /etc/apt/sources.list.d/percona.list
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
ローカルキャッシュを更新します。
# apt-get update
そして、xtrabackupをインストールします。
# apt-get install xtrabackup
データベースのコピーを取得するには、次のコマンドを実行します。
# innobackupex .
「2010-03-13_02-42-44」のようなディレクトリが作成されます。そのディレクトリを開発ボックスにコピーし、REDOログを適用します。
# innobackupex --apply-log /data/backups/2010-03-13_02-42-44/
これで、ディレクトリを使用する準備が整いました。それをMySQL datadirにコピーして戻し、所有権を修正します。
# cp /data/backups/2010-03-13_02-42-44/ /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql
次に、MySQLを起動します。
詳細は http://www.percona.com/doc/percona-xtrabackup/2.1/how-tos.html で確認できます