温馨提示×

ubuntu informix连接怎样设置

小樊
44
2025-12-23 00:11:36
栏目: 智能运维

Ubuntu 连接 IBM Informix 的设置步骤

一 准备与安装

  • 准备环境:创建专用用户与组(可选但推荐)
    sudo groupadd -g 3000 informix
    sudo useradd -u 3000 -g 3000 -d /opt/informix -m informix
  • 安装客户端/SDK:从 IBM 获取适用于 Linux 的 Informix Client SDK(CSDK) 或服务器安装介质,按向导安装;若拿到的是 .rpm,可用 alien 转换为 .deb 后用 dpkg 安装:
    sudo dpkg -i informix-client_*.deb
    安装依赖:sudo apt-get install -f
  • 安装完成后确认工具可用:which dbaccess、which isql(或执行 dbaccess -version)。

二 环境变量与配置文件

  • 设置环境变量(建议写入 informix 用户的 ~/.bashrc 或 ~/.profile):
    export INFORMIXDIR=/opt/informix
    export INFORMIXSERVER=your_server_name
    export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
    export ONCONFIG=onconfig.your_server_name
    export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
    export PATH=$INFORMIXDIR/bin:$PATH
    使配置生效:source ~/.bashrc
  • 配置网络服务端口:编辑 /etc/services,为实例添加端口(示例使用 8888/tcp
    informix_services 8888/tcp
  • 配置 sqlhosts(服务器名需与 INFORMIXSERVER 一致):编辑 $INFORMIXDIR/etc/sqlhosts
    your_server_name onsoctcp your_host_or_ip informix_services
    说明:onsoctcp 为常用的 TCP 套接字方式;如需共享内存可用 onipcshm(仅本机)。
  • 服务器端关键配置(仅当本机是数据库服务器时需要):编辑 $INFORMIXDIR/etc/onconfig.your_server_name,确保与 sqlhosts 一致:
    DBSERVERNAME your_server_name
    NETTYPE onsoctcp,1,50,NET
    并在 rootdbspace 配置中设置 ROOTPATH、ROOTSIZE 等参数后初始化。

三 网络与防火墙

  • 确保客户端与服务器之间的 TCP 端口(如 8888) 可达:
    • 服务器侧:sudo ufw allow 8888/tcp 或按企业防火墙策略放通
    • 客户端侧:必要时在云安全组/本机防火墙放通对应端口
  • 验证端口连通:在客户端执行 nc -vz your_server_ip 8888 或 telnet your_server_ip 8888

四 连接测试与常见问题

  • 命令行测试:
    dbaccess your_database - - 进入交互界面执行 SQL
    或使用 isql(若已安装 CSDK 的 isql):isql -v your_server_name username password
  • 常见错误与排查要点:
    • 25507 错误:多因 sqlhosts 协议/端口与服务器配置不一致,或使用了服务器不支持的协议(如 tlitcp);请统一为 onsoctcp 并核对 /etc/services 端口。
    • 库找不到:检查 LD_LIBRARY_PATH 是否包含 $INFORMIXDIR/lib
    • 主机名解析:确保 sqlhosts 中的主机名在 /etc/hosts 或 DNS 可解析。
    • 权限/认证:确认数据库用户存在、口令正确且来源主机被允许。

0