我编写了一个脚本,用于备份我的 MySQL 数据库并生成一个包含数据库 mysql 转储的 GZIP 文件。我想知道是否可以用一个命令解压 GZIP 文件并恢复数据库?
像这样:
mysql -u user -h host -ppass database < gzip -c database.backup
但这似乎不起作用。有什么建议吗?
我使用以下命令:
mysqldump -u user -h host -ppass database | gzip -9 > database.backup
我收到的错误是:-bash: gzip: No such file or directory;
在我看来,这表明它不能将 gzip 识别为命令或类似的东西
答案1
您使用了两个命令,因此您应该使用管道而不是重定向。我使用这个:
gunzip < file.gz | mysql <parameters>
答案2
通常这应该可以工作。gzip 是否已安装并在 PATH 变量中可用?(您可以使用命令“which gzip”进行测试
mysqldump -u user -h host -ppass database | gzip -9 > database.backup
但我会使用后缀 .gz 作为备份文件
您还可以尝试
mysqldump -u user -h host -ppass *--database* "db_name" | gzip -9 > "db_backup".backup.gz
我最近编写了一个脚本来对我的数据库进行压缩备份。