使用.sql.gz文件恢复数据库时,gunzip附近的SQL语法错误

我正在尝试使用.sql.gz文件恢复一个MySQL数据库。 我正在使用mySql控制台来运行一个命令,因为文件大小对于phpMyAdmin来说太大了。 我正在使用的命令是

gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd 

其中root是用户标识。 根没有密码。 bd是我试图导入的数据库。 mysql正在我的本地机器上运行(Windows 8)。 我有一个wamp设置。

这是我得到的错误:

错误1064(42000):您的SQL语法错误; 检查与您的MySQL服务器版本相对应的手册,在'gunzip C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql | mysql -u root -p' 'gunzip C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql | mysql -u root -p'在第1行。

任何帮助将不胜感激。

感谢和问候,Vikalp耆那教

如果你键入gunzip并得到一个关于gunzip的SQL语法错误, 那么你已经登录到了mysql控制台 。 mysql控制台不是一个通用的shell!

你正在使用Windows,我怀疑你没有在你的电脑上安装gzip(这不是一个内置的工具)。 这是一个传统的Unix工具,但你可以找到Windows的二进制文件。 安装它,并运行你的原始命令一些调整:

  1. 确保你在Windows提示符( C:\>

  2. 将gunzip结果重定向到标准输出而不是文件:

     gunzip --stdout C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd 

另外,如果你首先解压(你不需要专门的命令行gzip,大多数GUI档案库,例如7-Zip支持这种格式),你可以从MySQL promt( mysql> )中运行转储:

 mysql> \. C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql 

你需要-c选项(输出到标准输出)

 gunzip -c xxx.sql.gz |mysql -u root -p 

虽然Kisoft的答案是正确的,但我只是想指出,你不需要-c,它的工作原样。 此命令将解压缩数据库转储并同时将其导入到数据库中。

 gunzip < output.sql.gz | mysql -u <username> -p<password> <database> 

你的答案已经在这里

phpMyAdmin:无法导入巨大的数据库文件,有什么建议吗?

在php.ini文件下,通常位于c:\ xampp \ php或者wampp中

 post_max_size=128M upload_max_filesize=128M 

改变价值会得到你想要的。祝你好运不要忘记重新启动,Apache和MySQL。

你不需要gunzip:zcat myfile.gz | mysql -uuser -ppassword mydatabase这样就更快了

尝试以下步骤,使用.gz文件恢复数据库:

 1. Run command : gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz 

这将解压缩.gz文件,并将beed_2013-04-06.sql存储在相同的位置。

 2. Type the following command to import sql data file: mysql -u username -p bd < C:/Vik/Gya/Source/beed_2013-04-06.sql