Navicat 不提供云端数据加密功能,仅支持配置客户端到数据库的 TLS/SSL 传输加密;真正加密需由云数据库服务端(如 AWS RDS、阿里云 PolarDB)启用 TDE、字段加密及证书策略,并在 Navicat 中正确配置 CA 证书路径。
Navicat 本身不提供云端数据加密保护功能
navicat 是数据库客户端工具,不是云服务或加密网关。它不参与传输层加密(tls)以外的数据加解密,也不管理云端数据库的静态加密(tde)、字段级加密或密钥轮换。所谓“在 navicat 里开启云端数据加密”,本质是误解了职责边界——加密必须由数据库服务端(如 aws rds、阿里云 polardb、腾讯云 cdb)或云平台基础设施控制。
真正要配的是数据库连接的 TLS/SSL 加密
这是 Navicat 能直接影响的唯一加密环节:防止账号密码和查询内容在传输中被嗅探。但配置成败取决于服务端是否已启用并正确分发证书。
- 服务端必须已开启
require_secure_transport=ON(MySQL)或类似强制 SSL 策略 - Navicat 连接设置里需勾选
Use SSL,并填入服务端提供的CA certificate路径(如rds-ca-2019.pem),否则会报错SSL connection error: unknown error number - 若用自签名证书,Navicat 可能弹出警告;生产环境务必用云厂商签发的可信 CA 证书
- 不勾选 SSL 或证书路径错误时,Navicat 仍可能连上(降级为明文),但日志里会有
Warning: SSL is disabled提示,容易被忽略
协同开发团队真正该关注的加密控制点
团队效率瓶颈从来不在 Navicat 界面按钮,而在权限与策略的落地一致性。多人共用一套连接配置时,最容易出问题的是:
- 有人本地关闭 SSL 连接,导致敏感字段(如
user_email、id_card)以明文流经办公网络 - 连接配置导出为
.ncx文件共享时,密码被明文保存(Navicat 15+ 默认加密,但旧版本或误操作仍可能泄露) - 团队没统一使用云平台提供的 IAM 角色或临时凭证,而是共享长期
access_key,一旦泄漏即全库可读 - 误以为“连上了 Navicat 就算安全”,却未检查数据库侧是否启用 TDE(如 MySQL 8.0 的
ENCRYPTION='Y'表空间加密)
Navicat 里最该禁用的“便利”功能
这些选项看似提升协作体验,实则绕过加密前提,放大风险:
- 关闭
Save password:即使启用了 SSL,本地明文存密仍是高危行为;应改用系统钥匙串或企业 SSO 登录 - 禁用
Auto-reconnect:自动重连可能在无 SSL 上下文时建立新连接,跳过证书校验 - 不导入他人分享的
.ncx连接文件,而是手动重建——确保每台机器都独立配置并验证了 SSL 参数 - 避免用 Navicat 的
Data Sync直连两个云端数据库做同步,这类操作常绕过中间 TLS 链路,且日志不记录加密状态
加密不是开关,是链路里每个环节的确认。Navicat 只负责最后一段“你到数据库”的连接,前面那段“数据库到云磁盘”的加密,得去云控制台翻 Encryption at rest 开关,而不是在 Navicat 设置里找。

















