使用命令行在MySQL中导入压缩文件

37
4个回答

77

尝试:

unzip -p dbdump.sql.zip | mysql -u root -p yourdbname

dbdump.sql.zip文件应该只包含一个SQL文件。 -p标志将输出流传输到mysql二进制文件。


如果您尚未安装unzip,请先安装它。您可以使用以下命令进行安装:sudo apt-get install unzip - Allahbakash.G
1
@Allahbakash.G - 是的,我已经安装了解压缩程序... OP 的问题确实说他们的文件是 zipped(压缩)的。 - Kanuj Bhatnagar
是的,在新的Ubuntu机器上使用unzip命令时,我遇到了一个错误,提示未安装unzip。 - Allahbakash.G

20

我从我的另一个问题中得到了答案。

这是导入压缩文件时使用7zip的命令。

7z x -so backup.7z | mysql -u root test

x 是提取命令。

-so 选项使7-zip写入标准输出(stdout)。


谢谢,但是对我来说它有效的前提是-u和用户名、-p和密码之间没有空格,因此命令应该是7z x -so backup.7z | mysql -umysqlusername -pmysqlpassword dbname。感谢提示。 - Agung Sagita

16
zcat backup.sql.gz | mysql -u[username] -p[pswd] [db]

0

你可以尝试使用xz --decompress --stdout进行解压。

完整的命令应该是xz --decompress --stdout backup.sql.gz | mysql -u root test


1
它显示了一个错误,如下所示-> xz: backup.sql.zip: 文件格式无法识别 - Subrata
1
xz似乎不支持zip文件,只支持xc和lzma格式。 - ESG
1
是的,我用它来处理7z档案。对于zip文件也应该可以正常工作。我的命令行看起来像这样:7z.exe e -y -so current.7z - ESG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接