3

我正在尝试使用以下命令使用命令提示符将压缩的数据库文件导入 Mysql

7z < backup.sql.7z | mysql -u root test

root用户没有与之关联的任何密码
测试是我的目标空白数据库。我使用7zip进行解压缩。压缩后的数据库即backup.sql.7z 位于D 盘。

但它给出了以下错误 在此处输入图像描述

所以,我改为使用以下命令

7z < backup.7z | mysql -u root test

注意:这次我使用的是backup.7z而不是backup.sql.7z

但后来我收到以下错误 在此处输入图像描述

显然我的 SQL 语法有问题。

那么正确的语法是什么?

4

2 回答 2

6

我也需要从压缩文件中导入,偶然发现了你的问题。经过一番折腾,我发现这对我有用:

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

x是提取命令
-so使 7-zip 写入标准输出

于 2012-07-11T00:06:10.323 回答
0

您的语法没有问题,这只是 7zip 的限制。在这种情况下最好使用 xz ,它不会在 stdout 中放入无关的垃圾,或者直接使用您喜欢的编程语言调用 7z.dll 。7z.exe 真的是用于存档管理,而不是 unix 风格的管道,Igor 非常不愿意改变它。

如果你尝试一个简单的7z < somefile.7z,你会立即看到你得到的只是一个使用列表。

于 2012-06-29T09:06:18.263 回答