openGauss安装部署详细教程

openGauss 作为一款企业级开源数据库,凭借卓越的性能、安全性与可扩展能力,成为企业数据库系统建设的重要选择。本文将系统讲解openGauss安装部署的完整流程,从环境规划、依赖安装、配置文件编写到数据库初始化,帮助你高效完成openGauss安装部署,掌握在openEuler等主流操作系统上进行openGauss安装部署的标准方法,并具备独立搭建生产级数据库环境的能力。

一、安装规划与环境要求

谋定而后动,周密的规划是成功安装的前提。

规划项 建议值/说明
操作系统 openEuler 22.03 LTS (x86_64)
安装用户 omm (运行用户), root (安装准备)
用户组 dbgrp
安装包路径 /opt/software/openGauss (用于存放安装包和解压文件)
程序安装路径 /opt/gauss/app (数据库程序二进制文件)
数据文件路径 /opt/gauss/data (数据库数据、日志等)

二、系统环境深度配置 (root 用户)

在正式安装 openGauss 之前,一个干净、规范的系统环境是成功的关键。以下所有操作均需使用 root 用户执行。

1. 系统参数与工具检查

首先,确保系统基础工具已安装。

bash 复制代码
# 安装 lsb_release 以便后续检查
yum install -y openeuler-lsb
# 检查操作系统版本,确保是 openEuler 22.03
lsb_release -a


接下来,关闭防火墙和 SELinux,避免安装过程中的网络和权限问题。

bash 复制代码
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 临时禁用SELinux,使其立即生效
setenforce 0

2. 配置网络与主机名

确保服务器的 /etc/hosts 文件包含了本机的 IP 地址和主机名映射。这对于集群通信至关重要。

bash 复制代码
echo "192.168.121.183 ivan" >> /etc/hosts

3. 安装核心依赖包

openGauss 依赖一些关键的系统库来保证其正常运行。

bash 复制代码
yum install -y bzip2 libaio-devel flex bison ncurses-devel glibc-devel patch python3

4. 创建用户与目录

为了安全起见,我们不应使用 root 用户直接安装和运行数据库。

bash 复制代码
# 创建用户组
groupadd dbgrp
# 创建用户并加入用户组,-d 指定家目录
useradd -g dbgrp -d /home/omm -m omm
# 为新用户设置一个强密码
passwd omm


接下来,创建我们规划好的安装和数据目录。

bash 复制代码
mkdir -p /opt/software/openGauss
chmod -R 755 /opt/software/

上图仅创建了软件包目录,我们需要创建所有规划的目录并赋予正确的所有者。

bash 复制代码
# 创建程序和数据目录
mkdir -p /opt/gauss/app /opt/gauss/data
# 将所有相关目录的所有权交给 omm 用户
chown -R omm:dbgrp /opt/software/openGauss /opt/gauss

三、准备安装包 (root 用户)

环境准备就绪后,我们前往 openGauss 官方网站下载安装包。

如上图所示,在 openGauss 官方下载页面,我们需要根据我们的服务器环境进行选择:

1.Architecture (架构) : 根据你的 CPU 架构选择,常见的服务器是 x86_64

  1. OS (操作系统) : 选择与你服务器操作系统匹配的版本,我们这里选择 openEuler 22.03 LTS

  2. Download (下载) : 点击 Enterprise (企业版) 下方的 Download 按钮。

下载完成后,将安装包(例如 openGauss-6.0.0-openEuler-64bit-all.tar.gz)上传到我们之前创建的 /opt/software/openGauss 目录下,并确保其属主为 omm

bash 复制代码
# 如果是用 root 上传的,需要修改所有者
chown omm:dbgrp /opt/software/openGauss/openGauss-*.tar.gz

四、解压与配置 (omm 用户)

从现在开始,我们将切换到 omm 用户完成后续的所有安装步骤。

bash 复制代码
# 切换到 omm 用户
su - omm
# 进入软件包所在目录
cd /opt/software/openGauss
# 解压安装包
tar -zxvf openGauss-*.tar.gz
tar -zxvf openGauss-OM-6.0.2-openEuler22.03-x86_64.tar.gz
# 进入解压后的 script 目录
cd script

配置核心 XML 文件

安装的所有配置信息都集中在 cluster_config.xml 文件中。我们直接用 cat <<'XML' 一次性写入最终配置(保持你的风格与路径)。

bash 复制代码
# 覆盖写入 cluster_config.xml(仅 DataNode,单机)
cat >/opt/software/openGauss/script/cluster_config.xml <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- 整体信息 -->
    <CLUSTER>
        <!-- 数据库名称 -->
        <PARAM name="clusterName" value="dbCluster" />
        <!-- 数据库节点名称(hostname) -->
        <PARAM name="nodeNames" value="ivan" />
        <!-- 数据库安装目录 -->
        <PARAM name="gaussdbAppPath" value="/opt/gauss/app" />
        <!-- 日志目录 -->
        <PARAM name="gaussdbLogPath" value="/var/log/omm" />
        <!-- 临时文件目录 -->
        <PARAM name="tmpMppdbPath" value="/opt/gauss/tmp" />
        <!-- 工具目录 -->
        <PARAM name="gaussdbToolPath" value="/opt/gauss/om" />
        <!-- 核心文件转存目录 -->
        <PARAM name="corePath" value="/opt/gauss/corefile" />
        <!-- 节点IP,与nodeNames一一对应 -->
        <PARAM name="backIp1s" value="192.168.121.183"/>
    </CLUSTER>

    <!-- 主机配置 -->
    <DEVICELIST>
        <!-- 主机名称,必须与上面的nodeNames一致 -->
        <DEVICE sn="ivan">
            <!-- 显式声明设备名 -->
            <PARAM name="name" value="ivan"/>
            <!-- AZ表示可用区,单机保持默认1即可 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 业务IP,与backIp1s一致 -->
            <PARAM name="backIp1" value="192.168.121.183"/>
            <!-- ssh IP,通常也与业务IP一致 -->
            <PARAM name="sshIp1" value="192.168.121.183"/>

            <!-- 仅部署 DataNode(单实例) -->
            <PARAM name="dataNum" value="1"/>
            <PARAM name="dataPortBase" value="15400"/>
            <PARAM name="dataNode1" value="/opt/gauss/data/dn1" />
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>
    </DEVICELIST>
</ROOT>
XML

你需要重点关注并确保以上几个关键参数与主机实际一致(ivan 等于 hostname 输出,IP 与 /etc/hosts 映射一致)。

五、执行安装 (omm 用户)

万事俱备,只欠东风。我们分两步执行安装。

1. 预安装检查

用 root 创建基础目录并授予权限(并准备 OM 期望的路径映射):

bash 复制代码
exit

# 1) 创建 /opt/huawei 基础目录
mkdir -p /opt/huawei
chown -R omm:dbgrp /opt/huawei
chmod -R 750 /opt/huawei

# 2) 准备 OM 期望的脚本路径(将实际 script 目录做符号链接过去)
mkdir -p /opt/huawei/install/tool
ln -sfn /opt/software/openGauss/script /opt/huawei/install/tool/script
chown -h omm:dbgrp /opt/huawei/install/tool/script

# 回到 omm
su - omm

gs_preinstall 脚本会自动检查并配置系统环境(如修改内核参数、设置limit等),确保满足所有安装条件。

bash 复制代码
# (在 omm@ivan 终端中直接执行)
cd /opt/software/openGauss/script
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/script/cluster_config.xml --non-interactive

如果脚本执行成功,你将看到 Preinstallation succeeded. 的提示。


2. 正式安装

预安装通过后,执行 gs_install 脚本来完成数据库的初始化和启动。

bash 复制代码
# 交互式输入数据库口令(你的这版 gs_install 不支持 -w)
cd /opt/software/openGauss/script
./gs_install -X /opt/software/openGauss/script/cluster_config.xml

安装过程可能需要几分钟时间,请耐心等待。


六、验证与使用

安装完成后,我们需要验证数据库集群是否正常运行。

1. 设置环境变量 (重要)

为了方便使用 gsql, gs_om 等命令,强烈建议将数据库的环境变量加入到 omm 用户的配置文件中。

bash 复制代码
# 编辑 profile 文件
vim /etc/profile

# 在文件末尾添加以下内容
export GAUSS_HOME=/opt/gauss/app
export PATH=$GAUSS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$GAUSS_HOME/lib:$LD_LIBRARY_PATH

# 使环境变量立即生效
source /etc/profile

2. 检查集群状态

现在,你可以在任何路径下执行 gs_om 命令。

bash 复制代码
gs_om -t status --all

如果所有组件的状态都显示为 NormalPrimary,则表示集群启动成功!

3. 登录数据库

最后,我们使用 gsql 客户端工具来连接并操作数据库。

bash 复制代码
# 登录数据库,-d 是默认数据库,-p 是端口号
gsql -d postgres -p 15400

成功进入 gsql 交互命令行后,你就可以执行 SQL 语句了。

sql 复制代码
-- 查看版本
SELECT version();
-- 查看所有数据库
\l
-- 退出
\q

日期:2025年10月27日

专栏:openGauss

相关推荐
王道长服务器 | 亚马逊云3 小时前
AWS + 苹果CMS:影视站建站的高效组合方案
服务器·数据库·搜索引擎·设计模式·云计算·aws
java干货3 小时前
MySQL “灵异事件”:我 INSERT id=11,为什么被 UPDATE id=10 锁住了?
android·数据库·mysql
記億揺晃着的那天3 小时前
数据库中 ACID 四个核心特性
数据库·mysql·oracle·系统设计·acid
Acrelhuang3 小时前
小小电能表,如何撬动家庭能源革命?
java·大数据·开发语言·人工智能·物联网
jyd01243 小时前
MongoDB 与 Java 实体类型 LocalTime 时区转换问题解决方案
java·数据库·mongodb
叶子2024223 小时前
判断题:可再生能源发电利用率指水电、风电、太阳能、生物质能等非化石能源占一次能源消费总量的比重。 这句话为什么错误
大数据·人工智能·能源
lpfasd1233 小时前
GEO崛起与AI信任危机:数据源安全如何守护智能时代的基石?
大数据·人工智能·安全
神奇侠20244 小时前
基于spring-boot-admin实现对应用、数据库、nginx等监控
java·数据库·nginx
行者游学4 小时前
ETCD 权限配置
数据库·etcd