Mysql错误:在linux服务器上导入sql文件时ASCII'\ 0'

zis*_*ish 10 mysql mysqldump phpmyadmin mysqlimport

导入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: ''.
Run Code Online (Sandbox Code Playgroud)

需要帮助...!!

小智 18

尝试类似的东西:

mysql -u root -p -h localhost -D database --binary-mode -o < dump.sql
Run Code Online (Sandbox Code Playgroud)

并确保您的sql文件没有压缩.


Zei*_*ani 14

我遇到这个问题,sql文件是有效的ISCII格式,我解决了如下:

1- in shell use file命令用于检测转储文件中包含的数据类型:

file db.sql

获得如下输出:

db.sql: Little-endian UTF-16 Unicode text, with very long lines, with CRLF line terminators

2-使用iconv将现有转储文件转换为UTF8(ASCII):

iconv -f utf-16 -t utf-8 db.sql > db_utf8.sql

然后导入新文件.


six*_*ing 8

我刚刚遇到这个问题,因为文件被压缩了。我将其解压缩,没有进一步的问题。

添加到它:数据库的路径也应该正确配置。考虑到您正在 mac 上运行 find 命令,然后使用 sudo ,并且解压缩的数据文件名可以放在下面的代码中的 [some_name_of_data.sql] 位置

sudo find / -name [some_name_of_data.sql] -type d
Run Code Online (Sandbox Code Playgroud)

或者,如果您在某些公司系统中没有 sudo 访问权限,则使用以下命令:

find / -name [some_name_of_data.sql] 
Run Code Online (Sandbox Code Playgroud)

类似这样的东西(例如 fin sqli /System/Volumes/Data/Users/clinto.abraham/projects/sme/Data/react-dev-2022-08-02.sql )可以用于在码头环境中设置数据。

fin sqli [some_path_to_db] 
Run Code Online (Sandbox Code Playgroud)