打开Navicat Premium,第一眼看到的是那个熟悉的启动界面,蓝色图标,一排连接列表。很多人在这一步就卡住了,盯着空荡荡的窗口不知道从哪儿下手。其实连接数据库这事儿,说穿了就是告诉Navicat三个信息:数据库在哪儿、用什么协议、用谁的账号。搞清楚这三件事,剩下的就是填表一样简单。

先说说最常见的情况,连接MySQL。点左上角的“连接”按钮,下拉菜单里选MySQL,弹出来的窗口会让你填一堆参数。连接名随便写,比如“测试库”,这名字只是给你自己看的,跟数据库本身没关系。主机填IP地址,本地开发就填localhost或者127.0.0.1,远程服务器就填服务器的公网IP。端口默认3306,除非你改过MySQL配置,否则不用动。用户名和密码是数据库账号,不是服务器账号,这个千万别搞混。填完之后点“测试连接”,如果弹出“连接成功”的绿色提示,恭喜你,第一步走通了。
但事情往往没这么顺利。刚接触Navicat的人,十个里有八个栽在连接不上这事儿上。报错信息五花八门,最常见的是“Can't connect to MySQL server”。这时候别急着怀疑Navicat有问题,先检查三件事:MySQL服务有没有启动、防火墙有没有放行3306端口、你填的IP和账号密码对不对。Windows上打开服务管理器看看MySQL服务状态,Linux上敲systemctl status mysql。防火墙这块,阿里云、腾讯云这种云服务器还要记得在安全组里把端口打开,很多人就是在云控制台里忘了配置,本地怎么测都通,一换公网IP就歇菜。
说完了MySQL,再聊聊PostgreSQL。连接流程大同小异,但有几个坑得提醒你。PostgreSQL默认端口是5432,不是3306,填错了一定连不上。还有用户认证方式,PostgreSQL默认用scram-sha-256加密,有些老版本用md5,Navicat都支持,但你得确保数据库配置里的认证方式跟你的连接方式对得上。另外,PostgreSQL的数据库名是必填项,不像MySQL可以不填默认连上去再看。如果你不知道数据库叫什么,可以先连postgres这个默认库,进去之后再查。
SQL Server的连接又是另一套逻辑。Navicat里选SQL Server,主机填IP或者主机名,端口默认1433。但这里有个容易翻车的地方:SQL Server有两种认证模式,Windows认证和SQL Server认证。如果你用的是Windows认证,连接时得选“Windows身份验证”,Navicat会拿你电脑的当前用户去登录。如果你用的是SQL Server认证,那就得填用户名密码。很多人在这块儿卡住,是因为搞不清自己数据库到底开了哪种模式。建议装SQL Server的时候就把混合模式打开,省得后面折腾。
Oracle数据库连接起来更讲究。Navicat连接Oracle有两种方式,一种是用服务名,一种是用SID。现在Oracle 12c以上版本,默认用的是服务名,比如pdb名字。你得在Navicat里选“服务名”选项,填上你的服务名,再配上主机和端口1521。有些老项目还在用SID,那就在下拉框里切换一下。Oracle的账号密码通常区分大小写,而且默认有个密码过期策略,90天不换密码就锁了,连接的时候如果提示“ORA-28001”,那就得先去数据库那边把密码改了再说。
连接配置填好,只是万里长征第一步。Navicat真正好用之处,在于连接成功之后的管理功能。左边栏能看到连接下的所有数据库,双击展开,表、视图、函数、存储过程一目了然。双击表就能直接浏览数据,右键还能导出导入,写SQL直接在查询编辑器里敲,快捷键Ctrl+R运行。这些功能说实话比命令行友好太多了,尤其对不熟SQL语法的人来说,图形界面能省掉不少查文档的时间。
不过话说回来,Navicat连接数据库这事儿,最核心的还是把网络层面打通。有时候你配置完全正确,但就是连不上,这时候得会用工具排查。Windows上有telnet命令可以测端口通不通,Linux上有nc。比如telnet 192.168.1.100 3306,如果卡住不动或者直接拒绝,说明网络不通或者端口没开。另外还可以用ping测IP通不通,但ping通不代表端口通,很多服务器禁ping,别被误导了。
还有一类特殊情况,数据库跑在Docker容器里。Docker映射端口出去的时候,得注意端口映射对不对。比如MySQL容器内部用3306,但映射到宿主机上变成了33306,那你Navicat连接时就得填33306而不是3306。搞不清楚的话,用docker ps命令看一眼端口映射那一栏,一目了然。还有容器重启之后IP地址可能会变,建议用端口映射方式固定住,别依赖容器IP。
说个很多人不知道的小技巧。Navicat的连接列表支持分组管理,右键连接列表空白处可以建分组,把测试环境、生产环境的连接分开归类。还能给连接设置颜色标签,一眼就能分辨哪些是正式库哪些是开发库。这个习惯养成之后,能避免不少误操作——毕竟连着生产库手一抖删了张表,那滋味不好受。
回到标题说的“navicat premium如何连接数据库”,其实核心就一句话:填对IP、端口、账号密码,搞定网络通。至于Navicat里那些花里胡哨的功能,都是锦上添花。先把连接这条线走通,后面的数据查询、导入导出、结构同步,都是水到渠成的事。真碰到连不上的情况,别慌,按网络排查的思路一步步来,多数问题出在端口或账号权限上,跟Navicat本身关系不大。磨刀不误砍柴工,把连接这关过了,后续开发效率和运维体验能提升一个档次。


