繁体   English   中英

mysqldump压缩

[英]mysqldump compression

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

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

mysqldump -u mark -h 34.32.23.23 -pxxx  --quick | gzip > dump.sql.gz

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

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

你应该使用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 .

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

我是这样做的:

使用SELECT INTO OUTFILE进行部分导出并在同一服务器上创建文件。

如果您的表包含1000万行。 每次部分导出100万行,每次都在一个单独的文件中。

第一个文件准备就绪后,您可以压缩并传输它。 与此同时,MySQL可以继续将数据导出到下一个文件。

在另一台服务器上,您可以开始将文件加载到新数据库中。

顺便说一下,这很多都可以编写脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM