方式 1:图形界面配置入站规则(推荐)
- 服务器上打开:Windows Defender 防火墙 → 高级设置
- 左侧选择【入站规则 】→ 右侧【新建规则】
- 规则类型选【端口】→下一步
- 协议 TCP,特定本地端口:
54321→下一步 - 操作:【允许连接】→下一步
- 配置文件:域、专用、公用 全部勾选(内网环境三个都勾上)→下一步
- 名称填写:
人大金仓数据库 54321端口,完成。
✅建好之后,别人电脑测试:
telnet 192.168.100.51 54321
能进入黑屏无报错 = 端口通了;提示连接超时,说明规则没生效。
方式 2:管理员 CMD 命令直接创建入站规则(复制执行)
以管理员身份打开 cmd,直接运行这条:
netsh advfirewall firewall add rule name="人大金仓54321" dir=in action=allow protocol=TCP localport=54321 profile=any enable=yes
执行成功提示 "确定"。
如果想验证规则是否创建成功:
netsh advfirewall firewall show rule name="人大金仓54321"
⚠️ Windows 金仓数据库,改 2 个核心配置(防火墙放行后还必须操作)
就算防火墙开了,金仓默认只允许本机访问,外来依旧连不上。 找到你的金仓 data 目录,一般路径: C:\Kingbase\ES\V9\data
-
修改
kingbase.conflisten_addresses = '' ; 把原来的localhost改成,监听所有网卡
port = 54321 -
修改
sys_hba.conf文件末尾,增加内网网段权限#允许192.168网段所有机器访问
host all all 192.168.0.0/16 md5 -
重启人大金仓 Windows 服务 此电脑 → 管理 → 服务和应用程序 → 服务,找到
KingbaseES V9,右键重启。
❗改完配置必须重启数据库服务,配置才会生效。
排查顺序总结
- 客户端机器执行
ping 192.168.100.51,确认 IP 网络通;ping 不通查局域网。 telnet 192.168.100.51 54321- 超时:防火墙没放行端口
- 拒绝连接:数据库没启动 /listen_addresses 没改 / 没重启服务
- 本机 Windows 服务器上,用 ksql 工具本地先测试连接数据库,确认数据库本身正常。
补充:如果临时测试,想直接关闭防火墙(不建议生产)
管理员 cmd:
netsh advfirewall set allprofiles state off
测试连通后记得打开防火墙,只保留 54321 端口放行。