mysql 在新电脑上导入,出现错误:ERROR at line 4019: Unknown command '\''.

在新电脑上导入,出现错误:

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -u root -p < E:\mysql_full_backup.sql

Enter password: *************

ERROR at line 4019: Unknown command '\''.

 

报错原因

Unknown command '\'' 典型三种情况:
  1. 备份文件路径 / 文件名含中文、空格、特殊符号;
  2. SQL 文件是 Windows 换行编码、导出时编码错乱,单引号 ' 解析异常;
  3. 导出 / 拷贝过程文件损坏、文件编码非 UTF-8;
  4. CMD 重定向 < 导入对特殊字符兼容性差。

 

方案一:改用 source 命令导入(最稳,优先试) 【不行,仍然错误

  1. 进入 bin 目录登录 MySQL
cmd  
mysql -u root -p
 
输入密码进入 mysql 命令行;
  1. 执行 source,路径用正斜杠 /
sql  
source E:/mysql_full_backup.sql; 
注意:必须分号结尾,路径斜杠写 / 不要写 \
导入完成再退出:exit;

 

 

 

方案二:修复文件编码问题(上面还报错再操作)

  1. 右键 E:\mysql_full_backup.sql → 打开方式 → 记事本;
  2. 左上角【文件】→【另存为】;
  3. 底部编码选择:UTF-8,保存覆盖原文件;
  4. 重新用 source 导入。

 

 

 

方案三:导出时加编码参数,重新备份(当前文件损坏时)

回旧电脑,重新导出,指定字符集避免乱码:
cmd 
mysqldump -u root -p --all-databases --routines --triggers --events --single-transaction --default-character-set=utf8mb4 > D:\mysql_full_backup.sql
 
拷贝新电脑再导入。

 

 

 

额外避坑点

  1. SQL 文件不要放在桌面、中文文件夹(如 E:\数据库备份\xxx.sql),纯英文路径;
  2. 拷贝文件用 U 盘 / 压缩包,不要微信 / QQ 传输,容易损坏字符;
  3. 5.7 数据库不要混用记事本默认 ANSI 编码保存备份,极易出现引号解析报错。

补充:如果 source 还是报单引号错误

打开 sql 文件,跳到报错第 4019 行,查看该行是否有乱码、残缺引号,大概率是传输过程文件截断损坏,只能重新完整导出一份备份。

 

=================================

如何在不打开文件的情况下,知道一个文本文件的字符编码类型?

 

图片

 

 

下面方案可行,可用

方案 1:命令行导入强制指定字符集(最优先,替代之前普通 cmd 导入)

进入 MySQL 5.7 bin 目录,执行这条完整命令,必须加 --default-character-set=utf8
cmd 
 
mysql -u root -p --default-character-set=utf8 < E:\temp.sql
 
输入密码直接导入。
原理:强制客户端用 utf8 读取文件,不会把转义单引号 \' 解析成非法命令。

 

posted @ 2026-07-06 22:51  emanlee  阅读(4)  评论(0)    收藏  举报