pyg*_*ex1 98 mysql debian bash tar gzip
通常在使用mysqldump命令转储 MySQL 数据库后,我会立即 tar/gzip 生成的文件。我正在寻找一种在一个命令中执行此操作的方法:
所以从这个:
mysqldump dbname -u root -p > dbname.sql
tar czvf dbname.sql.tgz dbname.sql
rm dbname.sql
Run Code Online (Sandbox Code Playgroud)
对于这样的事情:
mysqldump dbname -u root -p > some wizardry > dbname.sql.tgz
Run Code Online (Sandbox Code Playgroud)
或者甚至更好(因为我通常将转储文件 scp 到另一台服务器):
mysqldump dbname -u root -p > send dbname.sql.tgz to user@host
Run Code Online (Sandbox Code Playgroud)
我在 debian 上运行 bash。
Jam*_*mes 110
mysqldump --opt <database> | gzip -c | ssh user@wherever 'cat > /tmp/yourfile.sql.gz'
Run Code Online (Sandbox Code Playgroud)
你不能在这样的管道中使用 tar,而且你也不需要它,因为你只输出一个文件。tar 仅在您有多个文件时才有用。
小智 50
如果您在本地运行它,只需使用以下命令备份您的数据库并使用 gzip 压缩它:
mysqldump -u userName -p (passwordPrompt) yourDatabaseName | gzip -c > output.gz
Run Code Online (Sandbox Code Playgroud)
(编辑:固定 -c 键)
Jon*_*dad 18
使用命名管道。
mkfifo mysql_pipe
gzip -9 -c < mysql_pipe > name_of_dump.gz &
mysqldump database > mysql_pipe
rm mysql_pipe
Run Code Online (Sandbox Code Playgroud)
我一直在用,太棒了。
http://en.wikipedia.org/wiki/Named_pipe
小智 18
我写了一个快速脚本来吸收远程 mysql 数据库。它使用 mysql 压缩、gzip 和 ssh 压缩。以令人难以置信的速度吸收了多 GB 的数据库。
ssh -C user@host "mysqldump --opt --compress database <table> | gzip -9 -c" > outputfile.sql.gz
Run Code Online (Sandbox Code Playgroud)
一个附带的好处是它不需要源数据库服务器上的可用空间,因此您可以在修剪数据之前使用它来备份具有零可用磁盘空间的服务器上的数据库。
希望它可以帮助某人。
小智 5
使用pv和监控率!
mysqldump prod_db -h dbslave | pv | gzip -c > prod_2012_08_20.dump.tgz
Run Code Online (Sandbox Code Playgroud)
或者,如果您知道大小 (3GB),请获得准确的估计:
mysqldump prod_db -h dbslave | pv -s 3g | gzip -c > prod_2012_08_20.dump.tgz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159194 次 |
| 最近记录: |