在 Linux 上的 IBM Informix 数据库 中,修改端口主要涉及 数据库监听端口(通常是 sqlhosts 配置)。下面按常见场景说明。
Informix 没有单独的“端口参数”,端口是通过 sqlhosts 文件 和 服务名 来定义的。
常见配置文件路径:
$INFORMIXDIR/etc/sqlhosts
或:
/etc/informix/sqlhosts
cat $INFORMIXDIR/etc/sqlhosts
示例:
demo_on onsoctcp 192.168.1.10 9088
含义:
demo_on:实例名onsoctcp:TCP 协议192.168.1.10:IP 或主机名9088:端口号(或 services 中的服务名)编辑 sqlhosts:
vi $INFORMIXDIR/etc/sqlhosts
直接改成新端口,例如:
demo_on onsoctcp 192.168.1.10 9090
✅ 不需要修改 /etc/services
/etc/servicesvi /etc/services
添加或修改:
informix_srv 9090/tcp
sqlhostsdemo_on onsoctcp 192.168.1.10 informix_srv
修改端口后 必须重启数据库实例。
onmode -ky # 关闭
oninit -v # 启动
检查状态:
onstat -
netstat -tunlp | grep 9090
或
ss -lntp | grep oninit
firewall-cmd --add-port=9090/tcp --permanent
firewall-cmd --reload
客户端 sqlhosts 或连接字符串也要同步修改端口,例如:
demo_on onsoctcp 192.168.1.10 9090
❌ 端口被占用
Address already in use
❌ sqlhosts 与实例名不一致
INFORMIXSERVER not found
1. vi $INFORMIXDIR/etc/sqlhosts
2. 修改端口号
3. onmode -ky
4. oninit -v
如果你愿意,可以告诉我:
onstat -V)我可以给你更精确的配置示例。