在openEuler 22.03上搞定openGauss极简版:从libreadline报错到成功连接的保姆级排坑指南

张开发
2026/5/4 20:49:55 15 分钟阅读

分享文章

在openEuler 22.03上搞定openGauss极简版:从libreadline报错到成功连接的保姆级排坑指南
在openEuler 22.03上搞定openGauss极简版从libreadline报错到成功连接的保姆级排坑指南最近在openEuler 22.03上部署openGauss极简版时遇到了不少系统兼容性问题。作为一款国产开源数据库openGauss的安装过程看似简单但实际操作中各种坑层出不穷。本文将详细记录从环境准备到成功连接的全过程特别是针对openEuler 22.03特有的系统配置问题。1. 环境准备与系统配置在开始安装openGauss之前我们需要对openEuler 22.03系统进行一些必要的配置。这些准备工作看似繁琐但能有效避免后续安装过程中出现的各种问题。1.1 创建专用安装用户openGauss不建议直接使用root用户安装我们需要创建一个普通用户useradd -m gaussuser passwd gaussuser创建完成后建议为该用户添加sudo权限visudo在打开的文件末尾添加gaussuser ALL(ALL) NOPASSWD: ALL1.2 系统资源限制调整openEuler对普通用户的资源限制较为严格我们需要修改/etc/security/limits.conf文件sudo vim /etc/security/limits.conf在文件末尾添加以下内容gaussuser soft core 102400 gaussuser hard core 102400 gaussuser soft nofile 819200 gaussuser hard nofile 819200 gaussuser soft nproc 65535 gaussuser hard nproc 65535 gaussuser soft stack 65535 gaussuser hard stack 65535修改完成后需要重新登录用户使配置生效。1.3 系统安全设置为了确保openGauss能正常运行我们需要调整一些系统安全设置sudo systemctl stop firewalld sudo systemctl disable firewalld sudo swapoff -a sudo sed -i /swap/s/^/#/ /etc/fstab sudo timedatectl set-timezone Asia/Shanghai2. 依赖库问题解决openEuler 22.03使用较新的软件包版本这导致与openGauss所需的依赖库版本存在差异。2.1 libreadline版本冲突安装过程中最常见的错误就是libreadline.so.7缺失。这是因为openEuler 22.03默认安装的是libreadline.so.8。首先检查系统中已安装的libreadline版本ls -l /usr/lib64/libreadline.so.*如果只有libreadline.so.8我们需要创建软链接sudo ln -s /usr/lib64/libreadline.so.8 /usr/lib64/libreadline.so.72.2 其他依赖库检查除了libreadline还需要确保以下依赖库已安装sudo dnf install -y libaio-devel flex bison ncurses-devel glibc-devel patch3. openGauss极简版安装完成上述准备工作后我们可以开始安装openGauss极简版。3.1 下载与解压首先切换到我们创建的专用用户su - gaussuser下载openGauss极简版安装包wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86_openEuler/openGauss-3.0.0-openEuler-64bit.tar.bz2解压安装包tar -xjf openGauss-3.0.0-openEuler-64bit.tar.bz23.2 初始化数据库进入解压后的目录执行初始化命令cd openGauss-3.0.0-openEuler-64bit ./gs_initdb -D /home/gaussuser/data -w Gauss_123这里有几个关键参数需要注意-D指定数据库数据目录-w设置数据库管理员密码3.3 配置环境变量为了方便使用我们需要将openGauss的可执行文件路径添加到环境变量中echo export PATH$PATH:/home/gaussuser/openGauss-3.0.0-openEuler-64bit/bin ~/.bashrc source ~/.bashrc4. 数据库启动与连接4.1 启动数据库服务使用以下命令启动数据库服务gs_ctl start -D /home/gaussuser/data检查服务状态gs_ctl status -D /home/gaussuser/data如果一切正常你应该能看到类似以下的输出gs_ctl: server is running (PID: 12345)4.2 连接数据库使用gsql客户端连接数据库gsql -d postgres -p 5432 -U gaussuser -W连接时会提示输入密码输入初始化时设置的密码即可。4.3 基本数据库操作成功连接后可以执行一些基本SQL命令测试数据库功能CREATE DATABASE testdb; \c testdb CREATE TABLE test_table (id INT, name VARCHAR(50)); INSERT INTO test_table VALUES (1, openGauss); SELECT * FROM test_table;5. 常见问题排查即使按照上述步骤操作仍可能遇到各种问题。以下是几个常见问题的解决方法。5.1 权限问题如果安装过程中出现权限错误需要确保数据目录及其父目录对安装用户有读写权限临时目录(/tmp)有足够权限可以执行以下命令修复权限sudo chown -R gaussuser:gaussuser /home/gaussuser chmod 700 /home/gaussuser/data5.2 端口冲突如果5432端口已被占用可以在初始化时指定其他端口./gs_initdb -D /home/gaussuser/data -w Gauss_123 --port54335.3 内存不足openGauss对内存有一定要求如果系统内存不足可以尝试增加swap空间调整数据库共享内存参数修改postgresql.conf中的相关参数vim /home/gaussuser/data/postgresql.conf调整以下参数shared_buffers 128MB work_mem 4MB6. 性能优化建议完成基本安装后我们可以进行一些简单的性能优化。6.1 配置文件调整openGauss的主要配置文件位于数据目录下postgresql.conf主配置文件pg_hba.conf客户端认证配置建议根据服务器硬件配置调整以下参数max_connections 100 shared_buffers 1GB effective_cache_size 3GB maintenance_work_mem 256MB6.2 定期维护设置定期维护任务如VACUUM和ANALYZEcrontab -e添加以下内容0 2 * * * /home/gaussuser/openGauss-3.0.0-openEuler-64bit/bin/vacuumdb -a -z -v7. 安全加固措施数据库安装完成后安全加固同样重要。7.1 修改默认密码强烈建议修改默认的数据库管理员密码ALTER USER gaussuser WITH PASSWORD NewStrongPassword123!;7.2 配置访问控制编辑pg_hba.conf文件限制访问来源vim /home/gaussuser/data/pg_hba.conf添加或修改以下行host all all 127.0.0.1/32 md5 host all all your_trusted_ip/32 md57.3 启用日志审计在postgresql.conf中启用详细日志logging_collector on log_directory pg_log log_filename postgresql-%Y-%m-%d_%H%M%S.log log_statement all

更多文章