openGauss 6.0.6 单机部署
适用:openEuler/ 银河麒麟 V10;不使用 OM 安装脚本、不执行 gs_preinstall/gs_install;systemd 配置开机自启; 架构:单机单实例,手动初始化数据库,gs_ctl 管理启停。
文档约定
- 主机名:openGaussDB
- 内网 IP:172.11.12.2
- 数据库用户:omm,用户组:dbgrp
- 程序目录 (gaussdbAppPath):
/data/openGauss/openGauss-Server - 数据目录:
/data/openGauss/data/dn - 日志目录 (gaussdbLogPath):
/data/openGauss/data/dn/pg_log - TMP 目录 (tmpMppdbPath):
/data/openGauss/tmp - Core 转储目录 (corePath):
/data/openGauss/corefile - OM 占位目录 (gaussdbToolPath):
/data/openGauss/om(手动部署不使用) - 端口:5432
一、前期环境准备(root 执行)
1.1 创建目录
mkdir -p /data/openGauss/openGauss-Server
mkdir -p /data/openGauss/data/dn
mkdir -p /data/openGauss/tmp
mkdir -p /data/openGauss/corefile
mkdir -p /data/openGauss/om
1.2 创建用户与用户组
groupadd dbgrp
useradd -g dbgrp omm
# 设置omm密码,自定义,记住密码
passwd omm
1.3 目录权限配置(关键,openGauss 强制权限)
chown -R omm:dbgrp /data/openGauss
chmod 700 /data/openGauss/data/dn
chmod 750 /data/openGauss/openGauss-Server
1.4 系统内核 & 资源参数(root)
# 打开limits配置
vi /etc/security/limits.conf
在文件末尾追加:
omm soft nofile 1048576
omm hard nofile 1048576
omm soft nproc unlimited
omm hard nproc unlimited
保存退出 Esc :wq
# 内核参数
vi /etc/sysctl.conf
追加下面内容
kernel.sem = 250 32000 100 99
kernel.shmmax = 17179869184
kernel.shmall = 4194304
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
生效内核参数
sysctl -p
1.5 防火墙放行 5432 端口
# firewalld
firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --reload
# 查看放行端口
firewall-cmd --list-ports
1.6 SELinux(建议关闭,小白避坑)
#临时关闭
setenforce 0
#永久关闭
vi /etc/selinux/config
修改:SELINUX=disabled
重启服务器使 limits、selinux 生效(可选,后面解压完再 reboot 也行)
二、解压部署 openGauss 二进制包(root)
把 openGauss-6.0.6 二进制安装包上传服务器,示例包名:
openGauss-All-6.0.6-openEuler20.03-aarch64.tar.gz上传到 /data目录
2.1 解压
cd /tmp
tar -zxvf openGauss-All-6.0.6-openEuler20.03-aarch64.tar.gz
mkdir openGauss
mv openGauss-Server-6.0.6-openEuler20.03-aarch64.tar.bz2 ./openGauss-Server
cd openGauss
tar - zxvf openGauss-Server-6.0.6-openEuler20.03-aarch64.tar.bz2
解压后得到 openGauss-Server-6.0.6-openEuler20.03-aarch64.tar.bz2 文件
2.2 复制二进制程序到目标程序目录
cp -r /tmp/openGauss/* /data/openGauss/openGauss-Server/
2.3 修改程序目录归属
chown -R omm:dbgrp /data/openGauss/openGauss-Server
2.4 验证程序文件
ls -l /data/openGauss/openGauss-Server/bin/gs_ctl
ls -l /data/openGauss/openGauss-Server/bin/gaussdb
能看到两个可执行文件,代表复制成功
三、配置 omm 用户环境变量(omm 用户执行)
切换 omm 用户
su - omm
vi ~/.bashrc
写入下面全部内容
export GAUSSHOME=/data/openGauss/openGauss-Server
export PATH=$GAUSSHOME/bin:$PATH
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PG_DATA=/data/openGauss/data/dn
保存退出,生效环境变量
source ~/.bashrc
#校验
echo $GAUSSHOME
gs_ctl --version
✅ 输出版本号代表环境变量正常
四、初始化数据库实例(omm 用户执行)
数据库管理员密码自定义,后面登录要用,示例
Admin@123
gs_initdb -D /data/openGauss/data/dn --single_node -w Admin@123 -E UTF8 --locale=en_US.UTF-8
参数说明
-D:数据目录--single_node:单机模式-w:数据库超级用户 omm 密码-E UTF8字符集
执行成功提示
Success. You can now start the database server
4.1 修改数据库监听配置(允许外部访问)
vi /data/openGauss/data/dn/postgresql.conf
找到 listen_addresses
listen_addresses = '*'
port = 5432
vi /data/openGauss/data/dn/pg_hba.conf
文件末尾添加(允许所有 IP 访问,生产环境按需限制网段)
host all all 0.0.0.0/0 sha256
五、启停数据库(omm 日常维护命令)
#启动
gs_ctl start -D /data/openGauss/data/dn -Z single_node
#停止
gs_ctl stop -D /data/openGauss/data/dn -Z single_node
#查看状态
gs_ctl status -D /data/openGauss/data/dn
#登录数据库
gsql -d postgres -U omm -p 5432
登录成功后可执行
\q退出 gsql
六、配置 systemd 开机自启(root 执行,解决重启不自动拉起问题)
重点:service 内部自带 LD_LIBRARY_PATH,不依赖 omm 的 bashrc,解决 status=127 报错
cat > /etc/systemd/system/openGauss.service <<EOF
[Unit]
Description=openGauss Single Node Manual Deploy Service
After=network.target local-fs.target
Requires=network.target
[Service]
User=omm
Group=dbgrp
Type=forking
Environment="GAUSSHOME=/data/openGauss/openGauss-Server"
Environment="LD_LIBRARY_PATH=/data/openGauss/openGauss-Server/lib"
ExecStart=/data/openGauss/openGauss-Server/bin/gs_ctl start -D /data/openGauss/data/dn -Z single_node
ExecStop=/data/openGauss/openGauss-Server/bin/gs_ctl stop -D /data/openGauss/data/dn -Z single_node
ExecReload=/data/openGauss/openGauss-Server/bin/gs_ctl reload -D /data/openGauss/data/dn
TimeoutStartSec=300
TimeoutStopSec=300
Restart=no
[Install]
WantedBy=multi-user.target
EOF
加载 systemd 配置
systemctl daemon-reload
#设置开机自启
systemctl enable openGauss
6.1 测试 systemd 启停
#停止库
su - omm
gs_ctl stop -D /data/openGauss/data/dn -Z single_node
exit
#root执行
systemctl start openGauss
systemctl status openGauss
看到 active (running) 代表自启服务配置正常。
6.2 重启服务器验证开机自动启动
reboot
重启登录后执行:
systemctl status openGauss
gs_ctl status -D /data/openGauss/data/dn
systemd 排错命令
#查看本次开机日志
journalctl -u openGauss -b
#实时跟踪日志
journalctl -u openGauss -f
七、常用维护命令汇总
omm 用户下执行
#登录数据库
gsql -d postgres -U omm -p 5432
#查看数据库版本
gsql --version
#查看数据库日志
tail -f /data/openGauss/data/dn/pg_log/postgres-*.log
八、常见故障排查
- systemd 启动报错
code=exited, status=127- 原因:service 缺少
LD_LIBRARY_PATH环境变量,找不到动态库 - 解决:使用手册第 6 节完整 service 文件,不要省略 Environment 两行
- 原因:service 缺少
- gs_initdb 初始化报错 permission denied
- 原因:目录归属不是 omm:dbgrp,或者权限不是 700
- 修复:
chown -R omm:dbgrp /data/openGauss
- 外部无法连接数据库
- 检查防火墙 5432 放行、postgresql.conf listen_addresses='*'、pg_hba.conf 配置访问网段
- 服务器重启后数据库不启动
- 优先执行
journalctl -u openGauss -b查看 systemd 日志定位报错
- 优先执行
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)