pv
をインストールして使用する (CentOSのyumパッケージとして利用可能です)
http://www.ivarch.com/programs/pv.shtml
結果のdumpfile.sqlファイルの予想サイズが100m(100メガバイト)であると仮定すると、pv
を使用します。 次のようになります:
mysqldump <parameters> | pv --progress --size 100m > dumpfile.sql
コンソール出力は次のようになります:
[===> ] 20%
マニュアルページman pv
を見てください その他のオプションについては。転送速度、経過時間、転送バイト数などを表示できます。
ダンプファイルのサイズがわからない場合は、table_schemaからMySQLデータベースのサイズを取得する方法があります。これはダンプファイルのサイズではありませんが、ニーズに十分近い場合があります。
SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;
更新
私の経験では、MySQLサーバー全体をダンプする場合、mysqlダンプの実際の非圧縮サイズ(mysqldump --hex-blobオプションを使用)は、information_schemaから取得したMySQLデータのライブサイズの約75%から85%です。したがって、一般的な解決策として、次のことを試してみます。
SIZE_BYTES=$(mysql --skip-column-names <parameters> <<< 'SELECT ROUND(SUM(data_length) * 0.8) AS "size_bytes" FROM information_schema.TABLES;')
mysqldump <parameters> --hex-blob | pv --progress --size $SIZE_BYTES > dumpfile.sql