mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

MySQL - 圧縮しながらダンプ出力!

[ サーバ構築 ] [ Linux, MySQL, Unix ]

こんばんは。

MySQL ユーザならバックアップの際に誰でも使うであろう mysqldump コマンド。 通常、mysqldump コマンド実行後にできたダンプファイルのサイズが大きければ圧縮すると思います。

しかし、データベースの容量が大きくなると、ダンプを取ってその後圧縮する方法だと時間がかかりすぎます。 しかし、圧縮しながらダンプを取れば、相当時間短縮が望めます。

よくある方法ですが、メモしておきます。

圧縮しながらダンプ出力する方法

0. 前提条件

Unix 系 OS (Linux, BSD etc) での話です。

1. コマンド

以下のようにコマンドを打つだけです。 mysqldump と gzip をパイプするだけです。 以下は、hoge データベースを圧縮しながらダンプ出力する例です。

1
$ mysqldump -uroot -pfoo hoge | gzip > hoge.gz

データベース全てを圧縮しながらダンプ出力するなら以下のようになります。

1
$ mysqldump --all-databases -uroot -pfoo | gzip > all_db.gz

かなりの時間短縮になります。 当方の場合、16GBほどあるデータベースで「ダンプ出力12分+圧縮22分」だったのが、「トータルで20分」になりました。 三分の二以下になりました。

以上です。

Comments