use*_*997 65 mysql database mysqldump database-restore
我是MySQL的新手,我在Windows上运行它.我试图从MySQL中的转储文件恢复数据库,但我收到以下错误:
$ >mysql -u root -p -h localhost -D database -o < dump.sql
ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: 'SQLite format 3'.
Run Code Online (Sandbox Code Playgroud)
我试过放入--binary-mode
ini文件,但它仍然给出了同样的错误.我该怎么办?请帮忙.
UPDATE
正如尼克在他的评论中所建议的那样,我试过$ > mysql -u root -p -h localhost -D database --binary-mode -o < dump.sql
但它给了我以下ERROR at line 1: Unknown command '\?'.
它是一个500 Mb转储文件,当我使用gVIM查看其内容时,我所能看到的只是表达式和数据,这是不可理解的.
sri*_*vas 151
解压缩文件,然后再次导入.
cda*_*int 45
我在Windows中恢复转储文件遇到同样的问题.我的转储文件是用windows powershell和mysqldump创建的,如:
mysqldump db > dump.sql
问题来自powershell的默认编码是UTF16.为了更深入了解这一点,我们可以使用GNU的"文件"实用工具,并且存在一个Windows版本在这里.
我的转储文件的输出是:
Little-endian UTF-16 Unicode文本,具有很长的行,带有CRLF行终止符.
然后需要转换编码系统,并且有各种软件可以做到这一点.例如在emacs中,
M-x set-buffer-file-coding-system
然后输入所需的编码系统,如utf-8.
并且在将来,为了获得更好的mysqldump结果,请使用:
mysqldump <dbname> -r <filename>
然后输出由mysqldump
它自己处理,但不是powershell的重定向.
参考:https://dba.stackexchange.com/questions/44721/error-while-restoring-a-database-from-an-sql-dump
mysqldump
在 Windows PowerShell 上运行后,我遇到过一次此错误,如下所示:
mysqldump -u root p my_db --no-data --no-create-db --no-create-info --routines --triggers --skip-opt --set-gtid-purged=OFF > db_objects.sql
Run Code Online (Sandbox Code Playgroud)
我所做的是将其更改为此(管道而不是 Set-Content):
mysqldump -u root p my_db --no-data --no-create-db --no-create-info --routines --triggers --skip-opt --set-gtid-purged=OFF | Set-Content db_objects.sql
Run Code Online (Sandbox Code Playgroud)
问题就解决了!
您是否尝试在notepad ++(或其他编辑器)中打开并将我们转换/保存为UTF-8?
请参阅:notepad ++将ansi编码文件转换为utf-8
另一种选择可能是使用textwrangle打开并将文件保存为UTF-8:http://www.barebones.com/products/textwrangler/
如果你没有足够的空间或者不想浪费时间解压,试试这个命令。
gunzip < compressed-sqlfile.gz | mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
不要忘记用您的文件名替换compressed-sqlfile.gz。
如果没有我上面提供的命令,.gz restore 将无法工作。
归档时间: |
|
查看次数: |
86373 次 |
最近记录: |