mysqldumpリカバリの進捗を表示する
リカバリはいつ終わるの?
バックアップ取得の一方式としてメジャーなmysqldump。
巨大なデータを取り扱う場合はダンプをするにもリカバリするにも時間がかかります。
数十分の事もあれば数日かかることも。
あとどれくらい時間がかかるのか分からないので、作業進捗を把握できずに困ってしまいます。
特にリカバリはトラブル時の対応に使うことも多いので、把握できるかどうかで復旧までの見通しが全然違います。
リカバリの進捗を表示する方法
pvコマンドを使います。
パイプでpvを挟み込みます。
# インストール
yum -y install pv
# ダンプの取り込み
pv your_data.dump | mysql -h dbserver -u user db_name
56.6GB 1:07:32 [14.3MB/s] [===============================================>] 100%
pvコマンド?
pvコマンドはPipe Viewerの略で、その名の通りLinuxのパイプで通り過ぎていくデータの容量をモニタしてプログレスバーに表示してくれるというものです。
今回はmysqlのダンプデータについて紹介しましたが、mysqlに閉じた物ではないので、下記のような大きなデータを取り扱うような場合はなにかと便利です。
# mysqldumpも可能。ただし出力されるファイルの予測を自分で-sオプションで指定する。
mysqldump -u user dbserver | pv -s 9999M > your_data.dump
# gzipなどの解凍・圧縮にも利用可能
pv your_data.dump | gzip > your_data.dump.gz