navicat 能连上华为云 rds for mysql 的 ssl 加密连接,前提是服务端已开启 ssl 且 navicat 正确填写 rds-bundle.pem 路径;必须勾选 use ssl、ssl mode 设为 require、仅填 ssl ca file(控制台下载的 rds-bundle.pem),其余留空,连接后执行 select ssl_cipher... 验证非空才确认真加密。
navicat 能连上华为云 rds for mysql 的 ssl 加密连接,前提是服务端已启用 ssl 且你填对了 ca 文件路径——不是所有“勾选 use ssl”就真走加密,90% 的失败源于服务端未开 ssl 或客户端只填了空 ca file。
确认华为云 RDS 实例已开启 SSL
华为云控制台里 RDS 实例的「SSL 加密」开关默认是关闭的。不手动打开,MySQL 服务压根不提供证书,Navicat 填什么都连不上 SSL。
- 登录华为云控制台 → 进入对应 RDS 实例 → 左侧菜单点「SSL 加密」→ 点「开启 SSL」按钮(需重启实例)
- 开启后,控制台会自动生成并提供
rds-bundle.pem下载链接;这个文件本质是 CA 证书,不是服务端私钥,Navicat 只需要它 - 别用自己生成的 ca.pem —— 华为云 RDS 不认第三方 CA,必须用它控制台导出的
rds-bundle.pem
Navicat 中 SSL 标签页怎么填才有效
填错字段或留空关键项,Navicat 会静默降级到非 SSL 连接,界面仍显示 “Connected”,但数据裸奔。
-
Use SSL必须勾选,SSL Mode选Require(不是 Preferred 或 Optional) -
SSL CA File是唯一必填项:指向你下载的rds-bundle.pem绝对路径,例如/Users/you/Downloads/rds-bundle.pem(macOS/Linux)或C:/Users/you/Downloads/rds-bundle.pem(Windows) -
SSL Cert File和SSL Key File留空——华为云 RDS 不要求客户端证书验证,填了反而可能握手失败 -
SSL Cipher别手动填,保持空白让 Navicat 自动协商;填错如AES256-SHA会导致SSL connection error (2026)
连接后怎么验证真走了 SSL?
不能只看 Navicat 状态栏,得查服务端实际协议和加密套件。
- 连接成功后,在 Navicat 执行:
SELECT Ssl_cipher FROM performance_schema.threads WHERE PROCESSLIST_USER = USER() LIMIT 1;,结果非空(如ECDHE-RSA-AES128-GCM-SHA256)才算真加密 - 或者执行:
SHOW STATUS LIKE 'Ssl_version';,返回值应为TLSv1.2或更高 - 如果返回空或
None,说明降级了——常见原因是rds-bundle.pem路径错误、文件权限受限(Windows 上注意反斜杠要双写或改用正斜杠),或实例没真正重启生效
常见报错及对应解法
报错不是配置问题就是服务端状态没对齐,先盯住服务端再调客户端。
-
SSL connection error (2026):90% 是rds-bundle.pem路径不对,或文件被编辑器意外转码(确保是 UTF-8 无 BOM 的 PEM 格式) -
Unknown SSL error:RDS 实例 SSL 开关没开,或开启后没重启;检查控制台「SSL 加密」状态是否为“已开启” - 连接成功但
Ssl_cipher为空:Navicat 的SSL Mode错选成Preferred,改成Require并重连 - 华为云控制台提示“CA 证书已过期”:rds-bundle.pem 没有固定有效期,但若实例创建于 2022 年前,建议重新下载最新版,旧包可能含已停用根证书
最易忽略的一点:华为云 RDS 的 SSL 是单向认证(只验服务端),所以你永远不需要配 SSL Cert File 和 SSL Key File;填了它们,反而可能触发服务端要求双向认证,而 RDS 并不支持,直接握手失败。











