mysqldump压缩

Mar*_*lli 22 mysql

我试图了解mysqldump的工作原理:

如果我在我的电脑上执行mysqldump并连接到远程服务器:

mysqldump -u mark -h 34.32.23.23 -pxxx  --quick | gzip > dump.sql.gz
Run Code Online (Sandbox Code Playgroud)

服务器会压缩它并将其作为gzip发送给我,还是我的计算机首先接收所有数据然后压缩它?

因为我有一个非常大的远程数据库导出,我想知道通过网络最快的方式!

ajr*_*eal 34

你应该使用ssh + scp,
因为localhost上的转储更快,
你只需要scp over gzip(网络开销较小)

可能你可以这样做

ssh $username@34.32.23.23 "mysqldump -u mark -h localhost -pxxx --quick | gzip > /tmp/dump.sql.gz"

scp $username@34.32.23.23:/tmp/dump.sql.gz .
Run Code Online (Sandbox Code Playgroud)

(/ tmp的可选目录,应更改为您熟悉的目录)


Mar*_*ser 15

你试过--compress参数吗?

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_compress

  • 关于 `--compress` 参数如何工作的文档并不多。我可以做出有根据的猜测,但需要查看来源才能确定。但我认为你的问题是它是否得到了压缩的服务器端或客户端。在您的示例中,它肯定是客户端。如果您已经看到 compress 参数减少了数据传输,那么这应该可以回答您的问题,即它在服务器端压缩它。 (2认同)