在发送之前压缩stream数据

以下是按预期工作。

发送服务器:

mysqldump db_name tbl_name -d | nc -l 1234 

接收服务器:

 nc 10.10.10.114 1234 | mysql -uroot -proot@123 test 

当我转储到远程服务器时,传输数据需要很长时间。 在这个过程中是否可以添加tar jcf –和tar jxf

当然:

 mysqldump db_name tbl_name -d | bzip2 -c | nc -l 1234 

 nc 101010.114 1234 | bzip2 -cd | mysql -uroot -proot@123 test 

(如果你想用gzip或者其他一些压缩程序来replacebzip2 ;它们在Linux中的工作方式都是一样的)

没有理由使用焦油; 你只是将数据从MySQL中转储出来作为一个文本块。 你也用通常被认为是“倒退”的方式使用nc ; 通常是数据的消费者(在这种情况下是mysql )进行监听(但是在操作上没有实际的区别,它只是“感觉”怪异)。

但是请注意,这种方法实际上可能不会让事情变得更快 – 根据我的经验,MySQL转储/加载的瓶颈是MySQL,而不是networking(除非您是通过严格的带宽限制链接来运行这个)。

通过焦油pipe道应该工作得很好。

发送:

 ... | tar -cjf - | ... 

接收

 ... | tar -xjf - | ... 

您可能想使用“z”来代替更昂贵的bzip2,而是使用gzip压缩,但这取决于它的速度有多快。