Navicat Cloud 不是数据库云备份方案,它仅同步连接信息、查询语句等配置类元数据,不存储任何表数据、结构、备份文件或明文密码;真正异地备份需通过计划任务导出SQL文件并手动同步至云存储或使用命令行+上传工具推送。
navicat cloud 不是数据库云备份方案,它不存储你的数据库数据、表结构或任何业务内容。这是最关键的判断。
如果你看到“Navicat 云备份”这个说法,大概率是混淆了 Navicat Cloud 和真正的数据库异地备份能力——后者必须由你主动导出、传输并落盘到远程位置,而 Navicat Cloud 只同步配置类元数据。
Navicat Cloud 实际存什么、不存什么
- 它只保存以下内容:
- 数据库连接信息(主机、端口、用户名 —— 但密码不会明文保存,且不用于自动连接)
- 查询语句、代码片段、聚合管道、BI 工作区、模型工作区
- 虚拟组、连接分组设置
- 它绝对不保存:
- 任何表数据(
SELECT * FROM users的结果) - 表结构(
CREATE TABLE语句本身也不会上传) - 备份文件(
.sql或.ncb文件不会被同步) - 数据库密码(即使你勾选“保存密码”,该密码也仅本地加密存储,不上传)
- 任何表数据(
所以,依赖 Navicat Cloud 来“异地备份数据库”是无效的。它解决的是“换电脑后快速恢复开发环境”,不是“服务器宕机后恢复生产数据”。
真正能实现异地数据库备份的 Navicat 方式
Navicat 本身不提供“一键上云”功能,但可通过组合手段把备份文件推到异地:
-
使用内置计划任务 + 自定义路径 + 手动同步:
- 在“备份数据库”窗口中,将导出路径设为一个本地文件夹(如
D:\navicat_backups\) - 启用 Windows 的
OneDrive、Google Drive或企业 NAS 的客户端,将该文件夹设为同步目录 - 这样每次生成的
mydb_%Y%m%d.sql文件会自动上传到云端
- 在“备份数据库”窗口中,将导出路径设为一个本地文件夹(如
-
使用命令行调用 + 系统级定时器 + 上传脚本:
- 利用
navicat.exe --backup生成备份文件 - 再用
curl或rclone将其上传至 S3、MinIO 或 FTP 服务器 - 示例关键命令片段:
"C:\Program Files\PremiumSoft\Navicat Premium 16\navicat.exe" --backup "prod-mysql" "app_db" "D:\backups\app_db_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
后续接一行rclone copy D:\backups\app_db_*.sql remote:db-backups/
- 利用
注意:Navicat 的
.ncb备份格式是私有压缩格式,仅能在 Navicat 中还原;若需跨平台或脚本化恢复,应强制选择SQL格式导出(在备份窗口 → “常规”选项卡 → “备份格式”选SQL File)
容易踩的坑:防火墙、权限与路径陷阱
- Navicat 计划任务默认依赖 Windows 的
Task Scheduler,但若以“仅用户登录时运行”,机器锁屏或远程断开后任务就失效 - 导出路径若用相对路径(如
./backups/),计划任务执行时工作目录不确定,极易写入失败却无报错 - 使用
--backup命令行时,连接名必须和 Navicat 中显示的完全一致(区分大小写、空格),否则报错Connection not found - 如果目标 MySQL 开启了
secure_file_priv,Navicat 的备份操作可能被拒绝,此时必须改用mysqldump配合外部调用
真正保障异地数据安全的核心,不在“是否用了云”,而在于:备份是否自动生成、是否脱离本地环境独立存在、是否可验证可恢复。Navicat 只是工具链一环,别让它替你做决定。


















