mysqldump + gzip 制作 0 字节 gz 文件
Posted
技术标签:
【中文标题】mysqldump + gzip 制作 0 字节 gz 文件【英文标题】:mysqldump + gzip making 0 bytes gz file 【发布时间】:2020-01-19 17:28:23 【问题描述】:我已经在 windows 上安装了 gnu gzip 和 MariaDB,我正在尝试运行这个命令
mysqldump -uroot -proot db_name > "DATABASE-2020-01-19-16-53-30.sql" | gzip > "DATABASE-2020-01-19-16-53-30.sql.gz"
我得到的是实际的sql文件和压缩文件的两个文件:
压缩文件为 1kb,其中 sql 文件为 0 字节。
我注意到的是,当我运行该命令时,它会停止,直到它完成创建转储文件,首先,当我运行此命令时,我立即得到两个 0 字节的文件,然后一秒钟后转储文件变为 50mb,但是压缩文件变为 20 字节,转储文件为 0 字节,所以我猜 gzip 命令没有主动查看 zip,或者读取最终的 sql 文件时出错。
我尝试了gzip -f -v SOURCE > DESTINATION.gz
的许多变体,但都没有成功。
我也在 centos 上测试过,同样的 MariaDB + php 版本,
我在 Windows 10 上使用 MariaDB 10.4 和 PHP 7.3.12 运行 WampServer 3.2.0 .
当我在管道(例如 robots.txt)之后将不同的文件输入 gzip 时,它会起作用,压缩后的文件将成为其中包含 robots.txt 的存档。 mysqldump.... | gzip robots.txt > archive.gz
我错过了什么?并感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:你有一个双输出直接
命令应该是
mysqldump -uroot -proot db_name | gzip > "DATABASE-2020-01-19-16-53-30.sql.gz"
【讨论】:
以上是关于mysqldump + gzip 制作 0 字节 gz 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用mysqldump备份导出MySQL数据库并压缩gzip