在配置Informix网络前,需确保CentOS系统的网络接口已正确设置静态IP(或DHCP获取),这是数据库服务器与客户端通信的基础。
ip link show或ifconfig -a命令确认网络接口名称(如ens33)。/etc/sysconfig/network-scripts/ifcfg-<接口名>),设置以下关键参数:DEVICE=ens33
BOOTPROTO=static # 静态IP模式
IPADDR=192.168.1.100 # 数据库服务器IP
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关地址
DNS1=8.8.8.8 # 首选DNS
ONBOOT=yes # 开机自启
systemctl restart network(或nmcli networking off/on)使配置生效。Informix客户端与服务端需访问其安装目录及库文件,需设置以下环境变量(以INFORMIXDIR=/opt/informix为例):
/etc/profile或用户.bash_profile文件,添加:export INFORMIXDIR=/opt/informix
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
export CLASSPATH=$INFORMIXDIR/lib:$CLASSPATH
source /etc/profile。sqlhosts文件定义了Informix服务名与IP、端口的映射关系,路径为$INFORMIXDIR/etc/sqlhosts。添加如下内容(以服务名myserver为例):
myserver onsoctcp 192.168.1.100 1526
myserver:自定义服务名(客户端连接时需使用);onsoctcp:协议类型(TCP/IP,若用共享内存则为onipcshm);192.168.1.100:数据库服务器IP;1526:端口号(默认1527,可根据需求修改)。Informix通过oninit命令启动监听器,确保数据库能接收网络请求:
oninit -s(-s表示静默模式,仅初始化内存结构);onstat -g lst(查看监听端口是否启动)。CentOS默认开启firewalld,需开放Informix使用的端口(如1526):
firewall-cmd --permanent --add-port=1526/tcp # 永久添加端口
firewall-cmd --reload # 重新加载规则
若使用iptables,可执行iptables -A INPUT -p tcp --dport 1526 -j ACCEPT并保存规则。
SELinux可能阻止Informix网络通信,需调整策略:
setsebool -P informix_enable_hba on # 允许Informix访问主机数据库
若仍无法连接,可临时关闭SELinux(测试用):setenforce 0,但生产环境建议保持开启并正确配置策略。
在客户端机器上,编辑$INFORMIXDIR/etc/sqlhosts文件,添加服务名与服务器IP的映射(与服务器端一致):
myserver onsoctcp 192.168.1.100 1526
确保客户端能访问服务器IP及端口。
使用isql命令测试连接(需安装Informix客户端):
isql -v myserver username password
若连接成功,将显示Informix SQL提示符(1>),表示网络配置正确。
sqlhosts文件中的IP、端口是否正确;使用telnet 192.168.1.100 1526测试端口是否可达;查看onstat -g lst确认监听器状态。source /etc/profile重新加载变量,或重启系统。