MySQL - 圧縮しながらダンプ出力!
Updated:
MySQL ユーザならバックアップの際に誰でも使うであろう mysqldump コマンド。 通常、mysqldump コマンド実行後にできたダンプファイルのサイズが大きければ圧縮すると思います。
しかし、データベースの容量が大きくなると、ダンプを取ってその後圧縮する方法だと時間がかかりすぎます。 しかし、圧縮しながらダンプを取れば、相当時間短縮が望めます。
よくある方法ですが、メモしておきます。
圧縮しながらダンプ出力する方法
0. 前提条件
Unix 系 OS (Linux, BSD etc) での話です。
1. コマンド
以下のようにコマンドを打つだけです。 mysqldump と gzip をパイプするだけです。 以下は、hoge データベースを圧縮しながらダンプ出力する例です。
$ mysqldump -uroot -pfoo hoge | gzip > hoge.gz
データベース全てを圧縮しながらダンプ出力するなら以下のようになります。
$ mysqldump --all-databases -uroot -pfoo | gzip > all_db.gz
かなりの時間短縮になります。 当方の場合、16GBほどあるデータベースで「ダンプ出力12分+圧縮22分」だったのが、「トータルで20分」になりました。 三分の二以下になりました。
以上です。
Comments