Navicat报Unknown Command错误是因文件头含UTF-8 BOM(EF BB BF)等不可见字节被误解析为命令,需用VS Code或Notepad++转为UTF-8无BOM编码,并用head -n 5验证首行是否为正常SQL语句。
这不是SQL语法错,而是Navicat把文件头的不可见字节当成了命令。最常见的是UTF-8 BOM(EF BB BF),在VS Code右下角显示为“UTF-8 with BOM”时就危险了。
必须转成“UTF-8 无BOM”格式——Notepad++选「编码 → 转为UTF-8无BOM格式」;VS Code点编码后选“Save with Encoding → UTF-8”(注意不是“UTF-8 with BOM”)。
head -n 5 your_file.sql检查:第一行不该是、空行或^@
Navicat不会自动帮你选库,哪怕SQL文件里写了USE db_name;,只要没在左侧导航树里手动点中目标数据库,就会报这个错。
操作路径很明确:连接 → 展开 → 找到你要导入的目标数据库 → 左键单击选中它(高亮显示) → 右键 → “运行SQL文件”。
USE语句,又没提前选库,所有CREATE TABLE都会失败Navicat图形界面处理超过50MB的SQL文件容易超时、OOM或中断。与其调内存设置,不如直接切命令行。
先确保MySQL服务已启动,然后终端执行:
mysql -u root -p your_db_name < /path/to/your_file.sql
SET @@GLOBAL.GTID_PURGED=...行(老版本MySQL不认识)Got a packet bigger than 'max_allowed_packet',去my.ini(Windows)或my.cnf(Linux/macOS)加:max_allowed_packet = 512M,重启MySQLrn?用dos2unix your_file.sql转LF再导入乱码根源不在Navicat界面编码设置,而在MySQL服务端字符集与SQL文件实际编码不匹配。
检查三处是否统一为utf8mb4:
CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
[mysqld]段加:character-set-server = utf8mb4,并重启服务Navicat连接属性里的“高级 → 字符集”设为utf8mb4只是客户端提示,不改变服务端行为。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)