我已将生产服务器上几乎所有空间分配到我的表空间
现在我有一个大约20gb的压缩转储,需要将其转储到mysql
问题是服务器没有足够的空间来解压缩文件(需要大约120 GB)
我使用了beolw命令,但我失败了,因为它首先解压缩文件,然后将输出重定向到mysql
gunzip dbdump.sql.gz | mysql -u root -proot123 -S /home/mysql55/tmp/mysql.sock
有没有办法让我可以转储压缩文件而不解压缩
任何建议都非常感激
答案 0 :(得分:12)
您应该告诉gunzip
写入标准输出。你现在正在做的事情根本就是不输出任何输出。
gunzip -c dbdump.sql.gz | mysql (args...)
答案 1 :(得分:2)
我知道这很荒谬,但它被压缩了两次,所以
filename.sql.gz
filename.sql
重命名为filename.gz
希望它能运作
答案 2 :(得分:1)
我们也可以通过以下命令实现相同的目标。我在这里使用gzip
gzip -d < dbdump.sql.gz | mysql (args..)
另一种方式如下所示
gzip -c dbdump.sql.gz | mysql (args..)
答案 3 :(得分:0)
您可以尝试动态解压缩文件,例如:
$ cat dbdump.sql.gz | gzip -cd | mysql
答案 4 :(得分:0)
您可以使用它导入。
zcat dbdump.sql.gz | mysql -u username -p dbname
答案 5 :(得分:-1)
我会建议获得gunzip。这是一个用于Windows:http://gnuwin32.sourceforge.net/packages/gzip.htm
解压后,您可以上传.sql