阅读量:61
Linux环境下配置Informix数据库的详细步骤
一、安装前准备
1. 创建Informix专用用户和组
为确保数据库安全,需创建专属用户和组管理Informix文件:
groupadd informix # 创建informix用户组
useradd -g informix -d /opt/informix -m informix # 创建informix用户,指定主目录为/opt/informix
passwd informix # 设置用户密码
chmod 755 /opt/informix # 设置安装目录权限
2. 设置环境变量
编辑informix用户的~/.bash_profile文件,添加以下关键变量(根据实际路径调整):
export INFORMIXDIR=/opt/informix # Informix安装根目录
export INFORMIXSERVER=ifxserver # 数据库服务器实例名
export ONCONFIG=onconfig.$INFORMIXSERVER # 配置文件名(如onconfig.ifxserver)
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.$INFORMIXSERVER # SQL主机配置文件
export PATH=$INFORMIXDIR/bin:$PATH # 添加Informix命令到PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH # 添加库文件路径
使配置生效:
source ~/.bash_profile
3. 创建安装目录
mkdir -p /opt/informix # 主安装目录
chown -R informix:informix /opt/informix # 设置属主和权限
二、下载并安装Informix
1. 下载安装包
从IBM官方网站下载适用于Linux的Informix安装包(如ids-11.70.FC7TL.linux-x86_64.tar),并传输至/opt/informix目录。
2. 解压安装包
cd /opt/informix
tar -xvf ids-*.tar # 解压安装包
3. 运行安装程序
切换至informix用户,执行安装:
su - informix
cd /opt/informix
./ids_install # 图形化安装向导
按照提示完成安装(选择“典型安装”即可满足大多数场景)。
三、配置Informix核心参数
1. 复制并修改onconfig配置文件
cd $INFORMIXDIR/etc
cp onconfig.std onconfig.$INFORMIXSERVER # 如onconfig.ifxserver
vi onconfig.$INFORMIXSERVER # 编辑关键参数
需修改的核心参数:
ROOTPATH:Root dbspace路径(数据库核心文件存储位置),如/opt/informix/dbs/rootdbs;DBSERVERNAME:数据库服务器实例名(需与INFORMIXSERVER变量一致),如ifxserver;NETTYPE:网络类型(支持ipcshm共享内存或soctcpTCP/IP),如soctcp,1,50,CPU(TCP/IP模式,1个poll线程,50个工作线程);SHMVIRTSIZE:共享内存初始大小(单位KB,建议≥80000);PHYSFILE:物理日志文件大小(单位KB,建议≥20000);LOGFILES/LOGSIZE:逻辑日志文件数量及大小(如LOGFILES 6、LOGSIZE 2000)。
2. 配置sqlhosts文件
vi $INFORMIXDIR/etc/sqlhosts.$INFORMIXSERVER
添加以下内容(根据网络模式选择):
# 共享内存模式(本地连接)
ifxserver onipcshm localhost
# TCP/IP模式(远程连接)
ifxserver_tcp onsoctcp localhost sqlexec
其中:
ifxserver:数据库服务器名(与DBSERVERNAME一致);ifxserver_tcp:TCP/IP模式下的别名;onsoctcp:TCP/IP协议;localhost:主机名(远程连接需替换为实际IP);sqlexec:/etc/services中定义的TCP端口(默认1526)。
3. 配置系统服务文件
编辑/etc/services,添加Informix服务端口:
vi /etc/services
添加以下行:
sqlexec 1526/tcp # Informix SQLExec服务(TCP)
sqlexec 1526/udp # Informix SQLExec服务(UDP)
sqlexed 1528/tcp # Informix SQLExec调试服务(可选)
四、初始化数据库
1. 创建数据库空间文件
mkdir -p /opt/informix/dbs # 数据库空间目录
touch /opt/informix/dbs/rootdbs # Root dbspace文件
chown -R informix:informix /opt/informix/dbs # 设置属主和权限
chmod 660 /opt/informix/dbs/* # 限制文件权限
2. 初始化数据库服务器
oninit -ivy # 初始化数据库(-i:初始化,-v:显示详细日志,-y:自动确认)
常见错误解决:
- 若提示“端口1526被占用”,需修改
sqlhosts中的端口号或停止占用进程; - 若提示“权限不足”,需确认
/opt/informix及子目录属主为informix。
五、验证安装
1. 检查数据库状态
onstat -i # 查看数据库服务器状态
若输出包含“On-Line”(在线)字样,则表示初始化成功。
2. 连接数据库
使用dbaccess工具连接(本地连接无需密码,远程需配置认证):
dbaccess $INFORMIXSERVER - # 连接到默认服务器
输入以下SQL验证连接:
SELECT DBSERVERNAME FROM SYSDUMMY1;
若返回ifxserver(或自定义的DBSERVERNAME),则连接成功。
六、后续配置(可选)
1. 设置自动启动
将Informix启动脚本复制到/etc/init.d,并添加系统服务:
sudo cp $INFORMIXDIR/etc/oninit /etc/init.d/informix
sudo chmod +x /etc/init.d/informix
sudo chkconfig --add informix # CentOS/RHEL
sudo systemctl enable informix # Ubuntu/Debian(systemd)
2. 配置远程访问
- 修改
sqlhosts文件,添加远程主机配置(如ifxserver_remote onsoctcp 192.168.1.100 sqlexec); - 配置防火墙允许端口1526:
sudo firewall-cmd --add-port=1526/tcp --permanent # CentOS/RHEL sudo ufw allow 1526/tcp # Ubuntu/Debian sudo firewall-cmd --reload
3. 创建示例数据库
dbaccess demo - # 进入demo数据库(若未安装,可通过Informix安装介质添加)
或使用onspaces命令创建自定义dbspace:
onspaces -c -d datadbs -p /opt/informix/dbs/datadbs -o 0 -s 500000 -k 8k # 创建数据dbspace
注意事项
- 权限问题:所有Informix目录(
$INFORMIXDIR、/opt/informix/dbs等)必须属主为informix,权限为660(文件)或755(目录); - 端口冲突:确保
/etc/services中定义的端口(如1526)未被其他服务占用; - 日志管理:定期清理
$INFORMIXDIR/logs目录下的日志文件,避免磁盘空间耗尽; - 版本兼容性:不同Informix版本的配置参数可能存在差异,建议参考对应版本的官方文档(如《Informix Dynamic Server Administrator’s Guide》)。