Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CMD在Mysql中导入压缩文件_Mysql_Database_Unix_Cmd_7zip - Fatal编程技术网

使用CMD在Mysql中导入压缩文件

使用CMD在Mysql中导入压缩文件,mysql,database,unix,cmd,7zip,Mysql,Database,Unix,Cmd,7zip,我正在尝试使用以下命令,使用命令提示符将压缩后的数据库文件导入Mysql 7z < backup.sql.7z | mysql -u root test 7z < backup.7z | mysql -u root test 7z

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

7z < backup.sql.7z | mysql -u root test
7z < backup.7z | mysql -u root test
7z
根用户没有任何与之关联的密码。
test是我的目标空白数据库。 我使用7zip解压。 压缩数据库即backup.sql.7z位于D驱动器中

但它给出了以下错误

因此,我使用了以下命令

7z < backup.sql.7z | mysql -u root test
7z < backup.7z | mysql -u root test
7z
注意:这次我使用的是备份.7z而不是备份.sql.7z

但是我得到了下面的错误

很明显,我的SQL语法有问题


那么正确的语法是什么呢?

您的语法没有问题,只是7zip的一个限制。在这种情况下,最好使用xz,因为xz不会在标准输出中放入多余的垃圾,或者直接用您最喜欢的编程语言调用7z.dll。7z.exe实际上是用于归档管理,而不是unix风格的管道,Igor非常不愿意改变这一点


如果你尝试一个普通的
7z
,你会立即看到你得到的只是一个用法列表。

我也需要从压缩文件导入,偶然发现了你的问题。 经过一段时间的胡闹之后,我发现这对我很有效:

7z x -so backup.7z | mysql -u root test
x是提取命令

-so将7-zip写入标准输出

我也做了xz−−减压−−stdout backup.sql.gz | mysql-u root测试,但得到错误xz:backup.sql.zip:文件格式不可识别dxz理解.xz。gzip理解.gz。如果您试图编写脚本以导入许多不同的备份类型,则需要解析扩展;如果你是手工做的,你只需要使用合适的工具就可以了。。非常感谢王。您是否有其他可行的脚本,可以为其他类型的zip应用程序(如winzip、gz等)执行同样的工作?再次感谢您。请注意我一直在努力解决的一个问题-如果您需要为mysql提供密码,那么使用
-p password
无效,您必须在没有空格的情况下键入它:
-ppassword
。也许它能帮助某人。