第1153行的Mysql错误:未知命令'\'

Chr*_*ris 13 mysql mysqldump

我试图通过命令行导入mysqldump文件,但继续收到错误.我使用以下命令从我的其他服务器转储文件:

mysqldump -u XXX -p database_name > database.sql
Run Code Online (Sandbox Code Playgroud)

然后我尝试导入文件:

mysql -u XXX -p database_name < database.sql
Run Code Online (Sandbox Code Playgroud)

它加载一小部分然后卡住.我收到的错误是:

ERROR at line 1153: Unknown command '\''.
Run Code Online (Sandbox Code Playgroud)

我在文件中检查了该行:

awk '{ if (NR==1153) print $0 }' database.sql >> line1153.sql
Run Code Online (Sandbox Code Playgroud)

它的大小恰好超过1MB,仅适用于该行.

任何想法可能会发生在这里?

小智 20

您的数据库中有二进制blob,尝试将--hex-blob添加到mysqldump语句中.

  • 我有同样的问题,但是-hex-blob不起作用.还有其他方法吗?谢谢 (2认同)
  • 像这样:`mysqldump -p -u 用户名database_name --hex-blob &gt; dbname.sql` (2认同)

Ala*_*ins 5

你知道发生了什么 - 你的 SQL 中有一个额外的单引号!O

如果你有'awk',你可能有'vi',它会很容易地打开你的line1153.sql 文件,并允许你在你的数据库中找到导致问题的值。

或者... 该行可能很大,因为它包含多行。您还可以使用--skip-extended-insertmysqldump 选项,以便每一行都有一个单独的插入语句。

祝你好运。