navicat cloud 同步查询需三重对齐:同一账户、保存至共享项目、本地启用同步;它同步完整查询对象(含名称、变量、分组、时间戳),而非仅sql文本,且不同步数据库连接配置,成员须手动配同名连接方可正常使用。
navicat cloud 本身能同步查询脚本,但必须明确一点:它只同步“查询对象的元数据”(名称、sql文本、分组路径、变量定义等),不执行同步动作,也不替代本地协作流程;一旦成员未登录同一 cloud 账户、或项目权限未开放、或客户端未启用同步,脚本就根本不会出现在对方列表里。
Navicat Cloud 同步查询的前提条件
同步不是“打开就自动生效”,而是依赖三重对齐:
- 所有成员必须使用同一个
Navicat Cloud账户(或加入同一组织下的On-Prem Server实例) - 查询必须保存在已共享的
Project(项目)中,而非个人“未归类查询”或本地临时标签页 - 每个成员本地 Navicat 桌面端需开启同步开关:菜单栏 →
文件→Navicat Cloud→ 勾选同步到 Cloud(部分版本叫Enable Cloud Sync)
常见错误现象:Query Name: 用户活跃统计 在 A 的项目里可见,B 登录同一账号却看不到——大概率是 B 没把该项目设为“已加入”,或 A 保存时没选中目标 Project(而是点了“新建查询”后直接写 SQL 没点保存到项目)。
为什么导出 SQL 文件 ≠ 同步查询?
导出功能(文件 → 导出查询)和 Cloud 同步是两条完全独立的路径:
-
导出查询输出纯文本 .sql 文件,不含名称、分组、变量绑定、执行历史,导入时需手动新建查询再粘贴,无法还原原始组织结构 -
Navicat Cloud同步的是整个查询对象:包括${env}这类变量、/* Query Name: ... */注释块、所属Folder路径、甚至上次运行时间戳 - 如果团队混用两种方式(比如 A 用 Cloud 同步,B 用导出/邮件传 .sql),很快会出现命名冲突、逻辑错位、环境变量失效等问题
真实场景中,一个带 ${start_date} 变量的查询,在 Cloud 同步后,B 打开会直接弹出变量输入框;而用导出的 .sql 文件,B 粘贴执行时只会报错 Unknown column '${start_date}'。
同步后仍不可见?检查这三项设置
即使登录了同一 Cloud 账户,也常因以下配置导致查询“同步了但看不见”:
-
项目权限:右键项目 →管理成员→ 确认该成员角色至少为Member(Guest角色默认不可见查询) -
本地同步状态:底部状态栏应显示Cloud Sync: OK或Connected;若显示Paused或Offline,需点击状态栏图标手动触发同步 -
连接别名一致性:查询中若引用了特定连接(如SELECT * FROM test.users),而 B 本地没有同名连接test,则查询虽存在,但双击会提示Connection 'test' not found
这个最后一点最容易被忽略:Cloud 不同步数据库连接本身,只同步查询里写的连接名。B 必须提前配好同名连接,否则脚本只是“摆设”。
真正决定同步成败的,从来不是网络或服务器,而是项目归属、权限分配、连接命名这三个本地可控环节。只要其中一环断开,所谓“云同步”就退化成单机备份。











