数据管理:备份、传输与同步
基于 Navicat 17 · 核于 2026-08
速查
- 备份(Backup):把数据库或选定对象转储为文件(SQL 脚本、CSV、Excel、JSON、XML 等),用于灾难恢复或迁移。Navicat 的备份对不同数据库走对应原生逻辑(MySQL 类 mysqldump、PG 用 pg_dump 风格)。支持定时备份(配合 Scheduler 无人值守)和备份压缩/加密。
- 还原(Restore):从备份文件恢复数据库。可整库还原或选择性还原部分表。还原前会校验备份完整性。
- 数据传输(Data Transfer):把一个库的数据批量搬到另一个库——同类型(MySQL→MySQL)或跨类型(MySQL→PG)。支持结构 + 数据、按条件筛选源数据、目标存在时跳过/覆盖/追加、字段映射。常用于数据库迁移、上云、搭建测试环境。
- 结构同步(Structure Sync / Schema Sync):对比两个库的表结构差异(缺表、缺字段、类型不同、索引差异、约束差异),生成 ALTER 脚本让目标结构对齐源。可预览差异、选择性应用。常用于开发库→测试库→生产库的结构推进。
- 数据同步(Data Sync):对比两个库的数据差异(按主键逐行对比),生成 INSERT/UPDATE/DELETE 让目标数据对齐源。比「全量数据传输」更轻——只同步差异行。常用于主从对齐、多环境数据同步。
- 对比与差异可视化:结构与数据同步都先对比再生成脚本,差异以颜色标记(新增/修改/删除),可逐项勾选应用。
- 任务调度(Scheduler):把备份、同步、传输、查询导出等操作定义为批处理任务(Batch Job),串联多个步骤,设定定时触发(每天/每周/每月/一次性)或事件触发。无人值守执行,是运维自动化的核心。
- Navicat Cloud:把连接配置、查询、虚拟分组、模型同步到云端,多设备/多团队成员共享。本地与云端可双向同步,支持版本历史。
- 数据生成(Data Generator):按字段类型生成测试数据(随机姓名、邮箱、日期、数字、JSON),用于填充测试库。可自定义规则、引用外键关联。
一、备份与还原:灾难恢复的基础
备份是数据库运维的第一要务。Navicat 把备份流程 GUI 化:
备份流程:
选数据库/表 → 选备份格式(SQL/CSV/Excel/JSON)
→ 设选项(结构 only/数据 only/二者、是否含 DROP、压缩、加密)
→ 执行 → 生成备份文件 → 可还原- 备份格式:SQL 脚本(最通用,含 CREATE + INSERT)、CSV/Excel(纯数据)、JSON/XML(结构化)。SQL 脚本可跨版本恢复,最稳。
- 备份内容:可选「结构 + 数据」「仅结构」「仅数据」。结构含 CREATE TABLE/INDEX/约束;数据含 INSERT。
- 压缩与加密:大库备份可压缩(zip/gzip)省空间,加密保护敏感数据。
- 定时备份:在 Scheduler 里建定时任务,每天/每周自动备份到指定目录,配合保留策略(保留最近 N 个)防止磁盘塞满。
还原
- 从备份文件恢复:选备份文件 → 选目标库 → 执行。Navicat 会按备份顺序执行(先建结构再插数据)。
- 选择性还原:可只还原部分表,避免整库覆盖。
- 校验:还原前提示差异,避免误覆盖。
二、数据传输:跨库批量迁移
数据传输把数据从一个库搬到另一个库,常用于数据库迁移、上云、搭建测试环境:
源库(MySQL 5.7)──数据传输──► 目标库(MySQL 8.0 或 PostgreSQL)
选项:
✓ 传输结构(CREATE TABLE)
✓ 传输数据(INSERT)
✓ 按条件筛选(WHERE created_at > '2026-01-01')
✓ 目标存在时:跳过 / 覆盖 / 追加
✓ 字段映射(源列 → 目标列)- 同类型 vs 跨类型:同类型(MySQL→MySQL)直接搬,类型/方言一致;跨类型(MySQL→PG)Navicat 自动做类型转换(如 MySQL 的
TINYINT(1)→ PG 的BOOLEAN)、DDL 方言转换(AUTO_INCREMENT→SERIAL)。 - 字段映射:源和目标的列名/类型可能不同,可手动映射对应关系。
- 大数据量优化:分批传输(避免单事务过大)、并行(多表并发)、禁用索引/约束加速插入、传输后重建。
- 迁移场景:①版本升级(MySQL 5.7→8.0);②跨库迁移(MySQL→PG);③上云(自建→RDS);④搭建测试环境(生产脱敏后复制)。
三、结构同步:对齐表结构
结构同步对比两个库的表结构差异,生成 ALTER 让目标对齐源:
源库(开发,最新结构) 目标库(生产,旧结构)
users 表 users 表
id BIGINT id BIGINT
email VARCHAR(255) email VARCHAR(255)
phone VARCHAR(20) ← 新增 (缺失)
created_at TIMESTAMP created_at TIMESTAMP
对比结果:
[+ ALTER TABLE users ADD COLUMN phone VARCHAR(20);] ← 建议脚本
执行 → 目标结构对齐源- 对比维度:表是否存在、字段(名/类型/长度/非空/默认)、主键、外键、索引、约束、视图、存储过程。
- 差异可视化:用颜色标记新增(绿)/修改(黄)/删除(红),可逐项勾选应用。
- 生成 ALTER 脚本:自动生成目标库方言的 ALTER(ADD COLUMN/MODIFY COLUMN/DROP/CREATE INDEX),可预览编辑。
- 应用场景:①开发库改了结构,推进到测试/生产;②主从结构不一致,对齐;③逆向同步(生产→开发,拉取最新结构)。
四、数据同步:对齐数据差异
数据同步比「全量数据传输」更轻——只同步差异行:
源库(主) 目标库(从)
users users
id=1 张三 id=1 张三 ← 相同,跳过
id=2 李四(新) (缺失) ← 插入
id=3 王五 id=3 王五(旧) ← 更新
id=4 赵六(多余) ← 可选删除
对比(按主键 id)→ 生成:INSERT id=2; UPDATE id=3; (DELETE id=4)- 按主键对比:以主键为锚点逐行对比字段值,找出新增/修改/删除的行。
- 增量同步:只处理差异行,比全量传输快得多(尤其大表少量差异)。
- 冲突处理:目标存在但与源不同时,可选「以源为准覆盖」或「跳过」。
- 应用场景:①主从数据漂移对齐;②多环境数据同步(开发↔测试);③迁移后的数据校验与补齐。
- 局限:不适合高频实时同步(那是 CDC/复制的事),数据同步是批量、定时的运维操作。
五、任务调度:运维自动化
Navicat 的 Scheduler 把重复操作自动化:
批处理任务(Batch Job):
步骤 1:备份生产库 → /backup/db_2026-08-07.sql
步骤 2:数据同步 生产 → 报表库(脱敏)
步骤 3:导出报表查询 → /report/weekly.xlsx
步骤 4:发送邮件通知
定时触发:每周日 02:00 自动执行- 批处理(Batch Job):把多个操作(备份、同步、传输、查询、导出、运行外部程序)串成流程,按顺序执行,支持步骤间条件跳转。
- 定时(Scheduler):设定触发时间——每天/每周/每月/一次性/间隔。配合系统计划任务(Windows Task Scheduler / macOS launchd / cron)实现无人值守。
- 通知:任务完成或失败可发邮件通知,附件含日志。
- 日志:每次执行记录日志,便于排查。
- 典型用例:①定时备份 + 清理旧备份;②每日同步生产到报表库;③每周导出业务报表;④迁移任务编排。
六、Navicat Cloud 与协同
Navicat Cloud 把工作环境同步到云端,支持多设备/团队共享:
- 同步内容:连接配置(含密码加密)、查询(SQL 与结果)、虚拟分组、模型(ER 图)。
- 多设备:办公室 Mac、家里 Windows、团队成员都看到同一套配置与查询。
- 版本历史:云端保留历史版本,可回滚误删改。
- 协作:团队共享连接与 SQL 库,新人入职即用。
- 安全:密码用 AES-256 加密存储,传输走 HTTPS。但敏感生产库密码是否上云要按公司安全策略评估。
七、数据生成:填充测试数据
开发测试需要大量假数据,Navicat 的数据生成器按规则自动填充:
- 按类型生成:姓名、邮箱、电话、地址、日期、数字、布尔、JSON、UUID。
- 自定义规则:限定范围(数字 1-100)、格式(邮箱 @x.com)、引用(外键关联另一表的 id)。
- 批量:一次生成百万行测试数据,用于性能测试与功能验证。
- 脱敏:可对真实数据脱敏后用于测试(替换姓名、打乱邮箱)。
下一步
数据管理讲完后,建议回到参考速查 Navicat 版本矩阵、功能速查表、与 DBeaver/TablePlus/DataGrip 对比、易错点清单。