openEuler 22.03 LTS SP4安装华为opengauss 22.03 LTS版本数据库,一键复制安装使用,保姆级教程

openEuler 是由华为发起、开源社区维护的企业级 Linux 操作系统。它主要有以下几个特点:

内核与架构:基于 Linux 内核,原生支持 x86-64 和 ARM64 (AArch64) 等多种架构,能充分发挥 Intel、AMD 及鲲鹏等芯片性能。

定位与性能:专为服务器、云计算和边缘计算设计,在调度、内存和 IO 方面做了深度优化,特别适合高并发的数据库场景。

生态与兼容:与 OpenHarmony 生态打通,并且完美兼容你准备安装的 openGauss 数据库等华为全栈软件,是同生态下的最优底座。

版本模型:分为长期支持版(LTS,如 22.03)和创新版,服务器生产环境应优先选择 LTS 版本以保证稳定。

我使用的系统版本是openEuler 22.03 LTS SP4。安装的opengauss 22.03 LTS版本。

​

系统官网链接: openEuler官网

系统镜像下载链接: openEuler 22.03 LTS SP4镜像下载链接

opengauss数据库官网链接: opengauss数据库官网链接


系统我是最小化安装部署的:

1. 安装 Development Tools 与 Base 组包

bash 复制代码
dnf -y group install "Development Tools"

1.1安装依赖包(官网要求)

bash 复制代码
dnf -y install libaio-devel readline-devel expect libedit-devel libxml2-devel lz4-devel numactl-devel unixODBC-devel java-1.8.0-openjdk-devel openblas-devel

安装基本工具

bash 复制代码
dnf -y install vim lrzsz rsync bash-completion wget curl tar unzip net-tools bind-utils psmisc tree htop which bc p7zip
bash 复制代码
dnf -y upgrade

2.下载opengauss数据库

bash 复制代码
mkdir -p /usr/local/src/opengauss && \
cd /usr/local/src/opengauss && \
curl -LO https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.5/openEuler22.03/x86/openGauss-All-6.0.5-openEuler22.03-x86_64.tar.gz && \
tar zxf openGauss-All-6.0.5-openEuler22.03-x86_64.tar.gz

2.1解压OM 和 Server 包

bash 复制代码
cd /usr/local/src/opengauss

解压 OM 运维管理工具

bash 复制代码
tar -xf openGauss-OM-6.0.5-openEuler22.03-x86_64.tar.gz

有lib 和script目录。

解压 Server 数据库服务包

bash 复制代码
tar -xjf openGauss-Server-6.0.5-openEuler22.03-x86_64.tar.bz2

有bin、etc、include、share、simpleInstall 目录

解压 CM 集群管理(单机也建议解压)

bash 复制代码
tar -zxf openGauss-CM-6.0.5-openEuler22.03-x86_64.tar.gz

tool目录

3.创建安装目标目录

bash 复制代码
mkdir -p /usr/local/opengauss/{app,data,log,tmp,tool,corefile}

4.创建运行用户和组

bash 复制代码
groupadd dbgrp
useradd -g dbgrp -d /home/omm -m omm
echo "你的密码" | passwd --stdin omm

5. 创建 XML 配置文件

bash 复制代码
vim /usr/local/src/opengauss/clusterconfig.xml

value值换成变量使用命令一键替换。

bash 复制代码
cat > /usr/local/src/opengauss/clusterconfig.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <CLUSTER>
        <PARAM name="clusterName" value="opengauss" />
        <PARAM name="nodeNames" value="$(hostname)" />
        <PARAM name="gaussdbAppPath" value="/usr/local/opengauss/app" />
        <PARAM name="gaussdbLogPath" value="/usr/local/opengauss/log" />
        <PARAM name="tmpMppdbPath" value="/usr/local/opengauss/tmp" />
        <PARAM name="gaussdbToolPath" value="/usr/local/opengauss/tool" />
        <PARAM name="corePath" value="/usr/local/opengauss/corefile" />
        <PARAM name="backIp1s" value="$(hostname -I | awk '{print $1}')" />
    </CLUSTER>
    <DEVICELIST>
        <DEVICE sn="node1">
            <PARAM name="name" value="$(hostname)" />
            <PARAM name="azName" value="AZ1" />
            <PARAM name="azPriority" value="1" />
            <PARAM name="backIp1" value="$(hostname -I | awk '{print $1}')" />
            <PARAM name="sshIp1" value="$(hostname -I | awk '{print $1}')" />
            <PARAM name="dataNum" value="1" />
            <PARAM name="dataPortBase" value="15400" />
            <PARAM name="dataNode1" value="/usr/local/opengauss/data" />
            <PARAM name="dataNode1_syncNum" value="0" />
        </DEVICE>
    </DEVICELIST>
</ROOT>
EOF

文件内容示例:

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <CLUSTER>
        <PARAM name="clusterName" value="opengauss" />
        <PARAM name="nodeNames" value="opengauss" />
        <PARAM name="gaussdbAppPath" value="/usr/local/opengauss/app" />
        <PARAM name="gaussdbLogPath" value="/usr/local/opengauss/log" />
        <PARAM name="tmpMppdbPath" value="/usr/local/opengauss/tmp" />
        <PARAM name="gaussdbToolPath" value="/usr /local/opengauss/tool" />
        <PARAM name="corePath" value="/usr/local/opengauss/corefile" />
        <PARAM name="backIp1s" value="192.168.1.100" />
    </CLUSTER>
    <DEVICELIST>
        <DEVICE sn="node1">
            <PARAM name="name" value="opengauss" />
            <PARAM name="azName" value="AZ1" />
            <PARAM name="azPriority" value="1" />
            <PARAM name="backIp1" value="192.168.1.100" />
            <PARAM name="sshIp1" value="192.168.1.100" />
            <PARAM name="dataNum" value="1" />
            <PARAM name="dataPortBase" value="15400" />
            <PARAM name="dataNode1" value="/usr/local/opengauss/data" />
            <PARAM name="dataNode1_syncNum" value="0" />
        </DEVICE>
    </DEVICELIST>
</ROOT>

6.授权 omm 用户

bash 复制代码
chown -R omm:dbgrp /usr/local/opengauss
chown -R omm:dbgrp /usr/local/src/opengauss
chmod 755 -R /usr/local/opengauss

7.切换到 omm 用户,执行预安装

bash 复制代码
su - omm
cd /usr/local/src/opengauss/script
bash 复制代码
python3 gs_preinstall -U omm -G dbgrp -X /usr/local/src/opengauss/clusterconfig.xml --sep-env-file=/home/omm/env.sh

成功了! 看到 Preinstallation succeeded. 就说明预安装已经通过。

两个警告不用管

ini 复制代码
Warning: Installation environment contains some warning messages.
Warning: The omm user does not have permission to set crontab.

这是正常的,不影响安装和使用。第一个是环境检查的常规提示,第二个 crontab 权限问题因为 omm 不是 root,不需要自动清理日志的话完全可以忽略。

8.加载环境变量并安装

bash 复制代码
source /home/omm/env.sh

9.正式安装

bash 复制代码
gs_install -X /usr/local/src/opengauss/clusterconfig.xml

这里要设置的是数据库管理员 omm 的数据库连接密码,跟之前系统用户 omm 的登录密码是两回事。

设置规则

复杂度要求:至少 8 位,包含大写字母、小写字母、数字、特殊符号中的三种

示例:OpenGauss@123、OmM#2026db

两次输入一致即可,输入你设定的密码(不会显示在屏幕上),回车后会提示:

再输一遍确认,然后会继续安装,最终看到:

Successfully started cluster.

Successfully installed database.就完成了。输入你设好的密码就行。

集群状态显示 Normal,一切正常。

现在验证一下
查看数据库状态
bash 复制代码
gs_ctl status -D /usr/local/opengauss/data
连接数据库状态
bash 复制代码
gsql -d postgres -p 15400 -r

连接成功后会进入 openGauss 的命令行界面:

相关推荐
IvorySQL5 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
aqi005 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
刘胡子大叔6 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用6 小时前
Spring对IoC的实现
数据库·spring
hz567898 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC8 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday8 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码9 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦9 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新9 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库