全部博文(107)
分类: 系统运维
2016-01-19 09:55:54
It doesn't sound like you're dealing with a mysqldump output file, there. Try the file utility.
shell> file dumpfile.sql dumpfile.sql: ASCII text
If you don't get the ASCII text response, you're dealing with either something that isn't a dump file from mysqldump at all, or you're dealing with something that's been compressed (with
gzip or bzip2, for example), which you'd need to uncompress before
piping it into mysql.
大意是说,错误信息里的--binary-mode极具迷惑性。事实上,这并不意味着你的 sql文件里包含ASCII字符。可以先通过file命令查看该文件的字符类型。
于是将该sql文件上传至Linux服务器上,执行了一下file:
[root@localhost ~]# file dafanshu_db.sql
dafanshu_db.sql: Little-endian UTF-16 Unicode text, with very long lines, with CRLF line terminators
结果很明显,这里面并没有什么ASCII字符,所以即使将mysql设置成--binary-mode,也无济于事,是文件格式的问题。
后来无意中发现,用more查看这个文件,无法正常显示任何内容,用vi却可以。这更加说明,这个sql文件绝对不是普通的文本文件。
最后想起,这个sql文件是在powershell里导出来的。于是尝试在cmd下重新导一次,然后再导入,就正常了。这坑爹的powershell。。。