navicat 16 不支持导出独立可迁移的备份任务配置文件;备份任务是硬编码绑定连接名与数据库名的不可变运行时快照,存储于加密sqlite数据库中且与硬件指纹、版本强绑定,仅连接配置(connections.ncx)和计划触发逻辑可迁移。

Navicat 16 不保存“备份任务”为独立可迁移的配置文件,所谓“批量导出所有备份任务”,本质上是导出其底层定义数据——但这些数据不以用户可读、可跨设备复用的形式存在。你真正能迁移的,只有连接配置(connections.ncx)和计划任务的触发逻辑(即「计划」列表里的条目),而每个 Backup 任务本身是硬编码绑定连接名+数据库名的不可变对象。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
为什么不能直接导出“备份任务”配置
Navicat 的「计划」→「备份」任务不是配置集合,而是运行时快照:
- 每个任务在创建时已固化了 connection_name、database_name、backup_path、mysqldump 参数(不可见)、是否压缩等;
- 它们不存储在单独文件中,而是写入本地 profiles 目录下的加密数据库(如 servers.db 或 SQLite 文件),且与硬件指纹、Navicat 版本强绑定;
- 即使你复制整个 profiles 文件夹到新电脑,Navicat 16 启动后大概率报错或清空计划列表,因为密钥上下文已失效。
唯一可行的迁移路径:重建 + 批量生成脚本
你无法一键导出任务,但可以低成本重建。关键不是“搬配置”,而是“复现逻辑”:
- 先确保连接已正确导入:按标准流程用 文件 → 导入连接 迁移 connections.ncx,并手动补全 SSH/SSL 路径;
- 用 SQL 查询生成重建语句:在 Navicat 中执行以下查询(需连接到 Navicat 自身配置库,路径通常为 Documents\Navicat\MySQL\servers 下的 servers.db,用 SQLite 工具打开):
SELECT 'Backup ' || db_name || ' (' || conn_name || '@' || host || ':' || port || ')' AS task_desc FROM servers WHERE type = 'mysql';
- 逐条手动重建更可靠:对 ≤10 个任务,直接在新电脑上右键连接 →「备份」→ 填路径 → 设计划,比解析加密 DB 更快;
- ≥15 个任务建议用 CLI 脚本:调用
navicat.exe /export 配合参数模板,但注意:/export 只支持导出*数据*,不支持导出*任务定义*导入后必查的三个失效点
即使你成功把旧电脑的 profiles 文件夹拷过去并强行启动 Navicat,以下三项仍几乎必然失效:
- backup_path 是绝对路径,新电脑上该目录不存在或无写权限 → 任务执行时报 Permission denied 或静默失败;
- 所有任务默认使用源端的 mysqldump 版本路径(如 C:\xampp\mysql\bin\mysqldump.exe),新电脑若未安装同路径 MySQL,会卡在「Starting dump…」不动;
- 计划时间按系统本地时区保存,若新电脑时区不同(如从 CST 切到 UTC),任务会错峰执行甚至被跳过。
真正麻烦的从来不是“怎么导出”,而是“导出后哪些字段根本没存、哪些存了也用不了”。connections.ncx 至少还能带密码迁移,而备份任务连这个待遇都没有——它只是一组 UI 操作记录,没有独立配置实体。别在「导出任务」上浪费时间,花 10 分钟建好连接,再花 5 分钟建好第一个备份任务,剩下的用复制粘贴+微调,比任何“批量方案”都快。










