-C
オプションは、MySQLクライアント・サーバ・プロトコルに存在することができる圧縮を使用しています。 Gzip'ingはパイプラインでgzip
ユーティリティを使用します。この場合、同じマシンで圧縮と解凍が行われるため、後者はうまくいっていないと私は確信しています。ダンプしているマシンがローカルの場合、-C
オプションはおそらくCPUサイクルを浪費しているだけで、mysqldump
とmysqld
デーモンの間のプロトコルメッセージを圧縮します。
mysqldump -u root -p database_name | mysql -C -h other-host -Ddatabase_name -B
mysqldump
の出力はmysql
コマンドラインクライアントが読み込まれますパイプラインに起こっている:ここでは意味をなさないかもしれません
のみコマンドパイプラインは、のようなものです。 -C
オプションは、mysql
に、送信するメッセージをother-host
に圧縮するように指示します。 -B
オプションを使用すると、クライアント側のバッファリングと対話型動作が無効になります。あなたはSSHはとにかく他のマシン上で実行されていることを条件
mysqldump -u root -p database_name | gzip > dump.gz
scp dump.gz [email protected]:/tmp
ssh [email protected] "gunzip /tmp/dump.gz | mysql -Ddatabase_name -B; rm /tmp/dump.gz"
:
おそらくのような何かをするより速くなります。
私が知っている限り、-CはソースmysqlサーバーからSQLをダンプする宛先サーバーに送信されている間にsqlコードを圧縮し、それを宛先サーバーで解凍して圧縮解除されたファイルを保存しますファイルを(通常)ハードディスクに保存します。 gzipを実行すると、圧縮されたgzipファイルがハードディスクに保存されます。 –