能,navicat 16.1 起原生支持 m 系列芯片,需下载 arm64 版安装包;原生运行更稳定高效,rosetta 转译易出错;gatekeeper 隔离需用 xattr 命令解除;连 mysql 报 access denied 应升级 navicat 或改认证插件;连 oracle 必须依赖 rosetta 和 intel 版 instant client。
navicat 是否真能原生运行在 m 系列芯片上?
能,但前提是下载对的版本。官方从 Navicat 16.1 起就正式支持 arm64 架构,后续所有新版(包括当前最新版 Navicat Premium 17)都提供原生 macOS ARM 版安装包。如果你从官网下载的是 Navicat-Premium-17.x.x-macos-arm64.dmg 这类命名的文件,它就是原生的;若下载的是 -macos-x64.dmg,那就是 Intel 版,必须靠 Rosetta 转译运行。
- 原生运行:不勾选“使用 Rosetta 打开”,启动快、内存占用低、长期连接更稳
- Rosetta 运行:勾选后可跑 x86 版,但偶尔触发
zsh: illegal hardware instruction 或界面卡顿,尤其在批量导出/导入大数据时
zsh: illegal hardware instruction 或界面卡顿,尤其在批量导出/导入大数据时 你可以在终端执行这条命令确认当前运行模式:arch —— 若输出 arm64 且 Navicat 正在运行中,说明它确实在原生跑。
安装后打不开?大概率是 Gatekeeper 拦住了
macOS 对非 Mac App Store 来源的应用有严格隔离,Navicat 官网下载包默认被标记为“已隔离”,双击打开会直接报错“已损坏”或“无法验证开发者”。
- 不要拖进“废纸篓”重下,也不要用“右键 > 打开”绕过(该方式在 macOS 14+ 已失效)
- 正确解法只有一条命令:
sudo xattr -r -d com.apple.quarantine /Applications/Navicat.app
- 执行后需输密码,完成后直接双击图标即可启动
sudo xattr -r -d com.apple.quarantine /Applications/Navicat.app ⚠️ 注意:路径必须完全匹配,比如你装在 /Applications/Navicat Premium.app,就得把命令里的名字同步改掉,否则权限没清干净,依然打不开。
连 MySQL 总提示 Access denied?别急着重设 root 密码
M 芯片上用 Homebrew 装的 MySQL(mysql@8.4 或更高),默认启用 caching_sha2_password 认证插件,而老版本 Navicat(≤16.0.15)对这个插件支持不完整,连接时就会报 Access denied for user 'root'@'localhost',哪怕密码完全正确。
- 最简修复:在终端连进 MySQL,执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
- 更彻底的做法(推荐):升级 Navicat 到 16.1.10 或以上,它已完整兼容
caching_sha2_password
- 补充提醒:Homebrew 启动服务用的是
brew services start mysql,不是 mysql.server start,后者在 Apple Silicon 上容易因路径或权限失败
为什么 Navicat 连 Oracle 反而比连 MySQL 还费劲?
因为 Oracle 官方至今没出原生 arm64 的 Instant Client,Mac M 系列用户连 Oracle 必须走 Rosetta —— 即便 Navicat 本身是原生的,底层驱动仍依赖 x86 的 libclntsh.dylib。
- 实测发现:即使你强制让 Navicat 用 Rosetta 打开,也得确保系统已装 Rosetta:
softwareupdate --install-rosetta --agree-to-license
- Instant Client 必须装 Intel 版(
instantclient-basic-macos-x64.dmg),解压后把整个目录加进 Navicat 的 OCI 配置路径里
- 关键细节:Navicat 的 OCI 设置里填的不是
.dylib 文件路径,而是包含它的父目录路径,例如 /Users/xxx/software/oracle/instantclient_19_16,里面必须能看到 libclntsh.dylib
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; caching_sha2_password brew services start mysql,不是 mysql.server start,后者在 Apple Silicon 上容易因路径或权限失败 arm64 的 Instant Client,Mac M 系列用户连 Oracle 必须走 Rosetta —— 即便 Navicat 本身是原生的,底层驱动仍依赖 x86 的 libclntsh.dylib。
- 实测发现:即使你强制让 Navicat 用 Rosetta 打开,也得确保系统已装 Rosetta:
softwareupdate --install-rosetta --agree-to-license - Instant Client 必须装 Intel 版(
instantclient-basic-macos-x64.dmg),解压后把整个目录加进 Navicat 的 OCI 配置路径里 - 关键细节:Navicat 的 OCI 设置里填的不是
.dylib文件路径,而是包含它的父目录路径,例如/Users/xxx/software/oracle/instantclient_19_16,里面必须能看到libclntsh.dylib
原生和转译混用时,最容易被忽略的是动态库加载链——Navicat 认为它在 arm64 下运行,但一调 Oracle 就切到 Rosetta 环境,中间任何一步路径写错或权限没放开,都会静默失败,连错误提示都不给。











