.nsx文件是Navicat数据同步的关键配置文件,保存于本地(Windows默认在%APPDATA%\PremierSoft\Navicat\Profiles\),含连接信息、映射规则等全部策略,不依赖云服务;必须关闭“Save password”并填明文密码方可命令行调用。
同步配置保存在哪?.nsx 文件才是关键
navicat 16 的数据同步(tools → data sync)做完比对后,点击「保存配置文件」生成的是一个 .nsx 文件,不是临时记录或云端配置。这个文件包含源库、目标库连接信息、表映射规则、字段比对逻辑、忽略列设置等全部同步策略。它不依赖 navicat cloud,也不随登录账号迁移——关掉云同步照样能用。
保存前必须关闭「保存密码」,否则命令行跑不通
如果你后续打算用 navigator.exe 或计划任务自动执行该同步,现在就得改配置:在同步设置界面的「连接属性」中,取消勾选「Save password」,手动把密码填进 Password 输入框。原因很直接:navigator.exe 无法读取 Windows 凭据管理器里的加密凭据,而 .nsx 文件里若存的是密文占位符,运行时就会卡在「Failed to load connection」。
- 只在内网可信环境这么做;外网/生产环境请改用 SSH 隧道 + 密钥认证
- 密码明文会写进
.nsx文件(可文本编辑器打开验证),务必控制文件权限 - 测试是否生效:双击
.nsx文件,看能否直接在 GUI 中加载并显示完整比对界面
.nsx 文件里能存哪些比对规则?
保存下来的 .nsx 不仅记下「哪张表同步到哪张表」,还固化了你在「选项」页签里调过的所有细节:
- 「比较方式」:按主键、按全部字段、按指定字段(
id, updated_at这类组合) - 「忽略对象」:可排除特定视图、函数、触发器,甚至按正则忽略表名(如
log_.*) - 「部署行为」:是否启用「遇到错误继续」、「删除目标多余行」、「禁用外键检查」
- 「字段映射」:源表
user_name→ 目标表name这类自定义映射,保存后下次打开仍保留
但注意:.nsx 不保存实际数据差异快照,每次运行仍会实时连库比对——它只是把你的比对意图“录下来”了。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
为什么改了连接名或路径后 .nsx 打不开?
.nsx 文件内部硬编码存储的是连接的「名称」(Connection Name),不是连接 ID 或 UUID。如果之后你重命名了源库或目标库的连接名(比如从 prod_mysql 改成 prod_v2),再双击打开 .nsx 就会提示「Connection not found」。
- 修复方法:用文本编辑器打开
.nsx,搜索旧连接名,替换成当前 Navicat 里实际使用的连接名(区分大小写) - 更稳妥做法:同步前统一用语义化短名(如
src_dev、dst_local),避免带版本号或时间戳 - 别指望「导入连接」能自动修复——
.nsx和.ncx是两套独立机制
真正容易被忽略的点是:.nsx 文件本身不校验数据库可达性,它只认连接名。名字对了,但目标库已下线或网络不通,错误会静默出现在命令行日志末尾,GUI 里反而没提示。

















