在配置网络前,需确保Informix数据库软件已正确安装在CentOS系统上。可从IBM官方网站下载适用于CentOS的安装包,按照官方文档完成安装。安装路径通常为/opt/informix(可通过INFORMIXDIR环境变量确认)。
Informix的网络通信依赖系统网络接口的正确配置。需编辑网络接口配置文件(位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<interface_name>,如ifcfg-ens33),设置静态IP地址、子网掩码、网关等参数:
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
DNS2=8.8.4.4 # 备用DNS
ONBOOT=yes # 开机自启
保存后重启网络服务使配置生效:
systemctl restart network # 或使用nmcli networking off/on(部分新版本CentOS)
编辑/etc/profile或用户主目录下的.bash_profile文件,添加Informix相关环境变量:
export INFORMIXDIR=/opt/informix # Informix安装根目录
export PATH=$INFORMIXDIR/bin:$PATH # 添加Informix命令到PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH # 添加Informix库路径
export INFORMIXSERVER=myserver # 实例名(需与sqlhosts中的名称一致)
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts # sqlhosts文件路径
使环境变量生效:
source /etc/profile
编辑$INFORMIXDIR/etc/sqlhosts文件,添加服务名与IP、端口的映射(关键步骤,客户端通过此配置连接数据库):
myserver onsoctcp 192.168.1.100 1527 # 协议为onsoctcp(TCP/IP),IP为服务器IP,端口为1527(默认)
参数说明:
myserver:服务名(自定义,需与INFORMIXSERVER环境变量一致);onsoctcp:协议类型(常用onsoctcp或onipcshm,前者为TCP/IP,后者为共享内存);192.168.1.100:数据库服务器IP地址;1527:Informix监听端口(默认,可根据需求修改)使用oninit命令启动Informix实例(若未启动):
oninit -s # 初始化实例(冷启动)
oninit -i # 初始化实例(首次安装后使用)
onmode -s # 启动实例(热启动,不中断现有连接)
使用onstat命令验证监听器是否正常运行:
onstat -g lst # 查看监听器状态,确认端口(如1527)是否处于“LISTEN”状态
onstat -m # 查看消息日志,确认无错误信息
使用firewalld开放Informix监听端口(默认1527),允许外部连接:
firewall-cmd --permanent --add-port=1527/tcp # 永久添加端口规则
firewall-cmd --reload # 重新加载防火墙配置
若SELinux处于Enforcing模式,需调整策略允许Informix网络访问:
setsebool -P informix_enable_hba on # 允许Informix访问主机数据库
setsebool -P informix_can_network on # 允许Informix进行网络通信
使用isql命令测试本地连接(需替换为实际用户名、密码):
isql -v myserver informix_user informix_password
若连接成功,将显示Informix SQL提示符(SQL>)。
在另一台机器上使用JDBC或其他客户端工具测试远程连接(以JDBC为例):
jdbc:informix-sqli://192.168.1.100:1527/mydatabase:INFORMIXSERVER=myserver
替换192.168.1.100为服务器IP、mydatabase为目标数据库名、myserver为服务名。
编辑/etc/sysctl.conf文件,优化网络性能:
net.core.somaxconn = 65535 # 最大连接队列长度
net.ipv4.tcp_max_syn_backlog = 65535 # SYN队列长度
net.ipv4.tcp_fin_timeout = 30 # FIN超时时间(秒)
net.ipv4.tcp_tw_reuse = 1 # 允许复用TIME_WAIT套接字
应用配置:
sysctl -p # 重新加载sysctl配置
编辑/etc/security/limits.conf文件,增加进程资源限制:
informix soft nofile 65535 # 单进程最大打开文件数(软限制)
informix hard nofile 100000 # 单进程最大打开文件数(硬限制)
informix soft nproc 65535 # 单用户最大进程数(软限制)
informix hard nproc 100000 # 单用户最大进程数(硬限制)
通过以上步骤,可完成CentOS系统上Informix数据库的网络配置与优化。配置完成后,需定期检查监听状态、防火墙规则及网络连接情况,确保数据库网络通信稳定。