Navicat在Windows中可连接本地、远程及SSH隧道MySQL:本地填localhost/3306;远程需开放安全组、防火墙及bind-address;SSH隧道需配置跳板机信息并填写内网MySQL地址。

要在Windows系统中用Navicat连接本地MySQL、远程MySQL(含云服务器)、以及通过SSH隧道访问内网数据库,必须先确认MySQL服务已运行、基础凭据准确、网络可达,且Navicat已安装并启动。
连接本地MySQL数据库
这是开发调试最常用场景,要求Navicat与MySQL在同一台Windows电脑上运行。
第一步:点击左上角「连接」→「MySQL」,打开新建连接窗口。
第二步:在「常规」选项卡中填写——【主机】填 localhost 或 127.0.0.1,端口必须是MySQL实际监听的端口(默认3306,若修改过需查 my.ini 中 port 值);用户名填 root(或其他有权限的本地账户),密码为对应密码;连接名建议写“本机MySQL-8.0”便于识别。
第三步:切换到「高级」选项卡,编码必须选 utf8mb4,否则中文插入或查询会乱码;勾选「保存密码」可免重复输入,但公共电脑请勿勾选。
第四步:点击左下角「测试连接」,弹出“连接成功”即完成。双击该连接即可展开数据库列表。
连接远程MySQL数据库(如阿里云/腾讯云轻量服务器)
远程直连适用于已开放3306端口且配置了允许外部IP访问的MySQL实例。
方法一:基础远程连接
新建MySQL连接→「常规」选项卡中,【主机】填服务器公网IP(如 120.79.xx.xx),不是 localhost;端口填3306(或自定义端口);用户名和密码必须是MySQL中明确授权给「%」或具体IP的账户,例如 CREATE USER 'navi_user'@'%' IDENTIFIED BY 'xxx'; 并执行 GRANT … FLUSH PRIVILEGES;。
方法二:检查前置条件(不操作则必失败)
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
连接前务必确认三点:① 云平台安全组已放行TCP 3306端口(来源建议限制为你的本地公网IP,而非0.0.0.0/0);② 服务器系统防火墙(如 Windows Defender 防火墙或 Linux 的 ufw/firewalld)已开放3306;③ MySQL配置文件中 bind-address 不能是 127.0.0.1(应为 0.0.0.0 或服务器内网IP)。
填完参数后点「测试连接」,若超时或报错2003,请立即回头检查上述三点。
通过SSH隧道连接内网MySQL(如公司局域网、Docker容器)
当MySQL部署在无公网IP的内网环境(如办公内网、私有云、Docker宿主机)时,必须借助一台可SSH登录的跳板机(如云服务器或开发机)建立加密通道。
新建MySQL连接→切换到「SSH」选项卡→勾选「使用SSH通道」。
SSH主机:填跳板机的公网IP或域名;端口:通常为22;用户名:跳板机系统账户(如 ubuntu、root);密码或密钥:填对应认证凭据(若用私钥,点击「浏览」选择 .ppk 或 .pem 文件)。
然后在下方「MySQL主机」栏填内网MySQL的真实地址——这里填的是跳板机能直接访问的地址,比如 127.0.0.1(表示MySQL也在跳板机上)、192.168.1.100(表示MySQL在同局域网另一台机器)、或 docker-mysql(若跳板机已配置DNS或hosts)。
MySQL端口填该内网MySQL实际监听端口(通常是3306);用户名和密码为内网MySQL的账户信息,与跳板机系统账户无关。
设置完成后点「测试连接」,Navicat会先连SSH,再经隧道转发请求到内网MySQL。这一步耗时略长,耐心等待弹窗提示即可。










