我正在尝试使用命令提示符使用以下命令将压缩数据库文件导入Mysql
7z < backup.sql.7z | mysql -u root test
root 用户 没有与之关联的密码。
test 是我的目标空白数据库。
我使用 7zip 进行解压缩。
压缩数据库即backup.sql.7z位于D盘中。
但它给出了以下错误
所以,我使用了以下命令
7z < backup.7z | mysql -u root test
注意:这次我使用 backup.7z 而不是 backup.sql.7z
但后来我收到以下错误
显然我的SQL语法有问题。
那么使用正确的语法是什么?
答案 0 :(得分:5)
我也需要从压缩文件中导入,并偶然发现了你的问题。 经过一番乱搞,我发现这对我有用:
7z x -so backup.7z | mysql -u root test
x 是提取命令
-so 使7-zip写入stdout
答案 1 :(得分:0)
你的语法没有错,这只是7zip的限制。在这种情况下最好使用xz,它不会在stdout中放入无用的垃圾,或者用你最喜欢的编程语言直接调用7z.dll。 7z.exe真的是用于存档管理,而不是unix风格的管道,而Igor非常不愿意改变它。
如果您尝试普通7z < somefile.7z
,您会立即看到所有返回的内容都是使用列表。