MySQLで巨大データをダンプ、リストアする時の進捗状況、進行具合を確認する方法

ものすごく大きなデータをMySQLでダンプ、リストアする必要があって進捗状況が分からず固まってるのか?と心配になったので
進捗状況を知るための方法を調べたのでメモ。

通常のリストアの方法は下記のような感じだけどこれだと進捗が分からない。

mysql -u ユーザー -pパスワード -D データベース名 < リストアしたいファイル名またはファイルまでのパス.sql

mysql -u root -pPASSWORD -D testdatabase < example.sql

pvコマンド(pipe viewer)を利用することによって進捗がパーセンテージとローダーみたいな感じで分かるようになる。またLTE 残り時間も分かるので便利

pv リストアしたいファイル名またはファイルまでのパス.sql | mysql -u ユーザー -pパスワード データベース名

pv example.sql | mysql -u root -pPASSWORD testdatabase

24.2GB 1:23:42 [2.3MB/s] [=================================================================>] 99% ETA 0:00:00

pvコマンドはダンプファイルだけに限った用途ではなく他の時間のかかる標準入力から読み込むような処理などにも使える。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする