Linux x86快速部署openGauss3.1.1指南

在 Linux x86 系统上安装 openGauss 3.1.1,主要有两种方式:一种是简单的单节点安装,适合个人或测试环境;另一种是更灵活的企业版安装,适合生产环境。你可以根据实际需要选择。

🔍 安装前:系统准备(通用)

无论选择哪种方式,都需要先在 root 用户下完成以下准备工作。

* **1. 检查硬件环境**

* **架构**:需要 **x86_64** 架构。

* **内存**:官方推荐 **32GB** 或以上。如果资源有限,可以尝试 2C4G 甚至 2C2G 的极简版或轻量版。

* **硬盘**:至少 1GB 用于安装 openGauss。

* **2. 创建用户(禁止使用 root 安装)**

```bash

groupadd dbgroup

useradd -g dbgroup omm # 安装openGauss的操作系统用户

passwd omm # 为omm用户设置密码

```

* **3. 修改内核信号量参数**

编辑 `/etc/sysctl.conf` 文件,添加以下配置:

```

kernel.sem = 250 32000 100 999

```

然后执行 `sysctl -p` 使配置生效。

* **4. 安装基础依赖**

使用 `yum` 安装所需依赖包:

```bash

yum install -y wget tar flex bison ncurses-devel glibc-devel patch readline-devel libnsl libaio-devel

```

* **5. 关闭防火墙和 SELinux**

```bash

systemctl disable firewalld

systemctl stop firewalld

```

同时,将 `/etc/selinux/config` 文件中的 `SELINUX` 值设为 `disabled`。

* **6. 创建安装目录并授权**

```bash

mkdir -p /opt/software/openGauss

chown -R omm:dbgroup /opt/software/openGauss

```


🛠️ 方法一:极简/轻量版单节点安装(适用于测试环境)

这种方式最简单,适合个人开发者或资源受限的环境。

  1. **切换用户**

```bash

su - omm

```

  1. **下载并解压安装包**

根据操作系统,选择对应的下载链接。

* **CentOS 系统**:

```bash

wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.1/x86/openGauss-Lite-3.1.1-CentOS-x86_64.tar.gz -O openGauss-Lite-3.1.1.tar.gz

```

* **openEuler 系统**:

```bash

wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.1/x86_openEuler/openGauss-Lite-3.1.1-openEuler-x86_64.tar.gz -O openGauss-Lite-3.1.1.tar.gz

```

下载后,将其解压到 `/opt/software/openGauss` 目录:

```bash

tar -xzvf openGauss-Lite-3.1.1.tar.gz -C /opt/software/openGauss

```

  1. **运行安装脚本**

```bash

cd /opt/software/openGauss

echo "你的数据库密码" | sh ./install.sh --mode single -D ./data -R ./install --start

```

> **注意**:密码需包含**大写字母、小写字母、数字、特殊符号**四类中的三类,且长度至少为 8 位。

  1. **设置环境变量**

```bash

source ~/.bashrc

```

  1. **验证安装**

```bash

ps ux | grep gaussdb

gs_ctl query -D /opt/software/openGauss/data

```

看到数据库进程正常运行,即表示安装成功。


⚙️ 方法二:企业版安装(适用于生产环境)

这种方法通过配置文件更精细地控制安装过程,步骤相对多,但更规范。

  1. **生成 XML 配置文件**

创建一个 `cluster_config.xml` 文件,填入以下内容,其中 `<!-- -->` 部分需替换为实际路径和 IP:

```xml

<?xml version="1.0" encoding="UTF-8"?>

<ROOT>

<CLUSTER>

<PARAM name="clusterName" value="opengauss_cluster" />

<PARAM name="nodeNames" value="node1" />

<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />

<PARAM name="gaussdbLogPath" value="/opt/huawei/install/log" />

<PARAM name="tmpMppdbPath" value="/opt/huawei/install/tmp" />

<PARAM name="gaussdbToolPath" value="/opt/huawei/install/tool" />

<PARAM name="corePath" value="/opt/huawei/install/corefile" />

<PARAM name="backIp1s" value="<!-- 你的服务器IP地址 -->"/>

</CLUSTER>

<DEVICELIST>

<DEVICE sn="node1">

<PARAM name="name" value="node1"/>

<PARAM name="azName" value="AZ1"/>

<PARAM name="azPriority" value="1"/>

<PARAM name="backIp1" value="<!-- 你的服务器IP地址 -->"/>

<PARAM name="sshIp1" value="<!-- 你的服务器IP地址 -->"/>

<!-- dn 主节点信息 -->

<PARAM name="dataNum" value="1"/>

<PARAM name="dataPortBase" value="15400"/>

<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>

</DEVICE>

</DEVICELIST>

</ROOT>

```

  1. **执行预安装脚本(需 root 用户)**

```bash

/opt/software/openGauss/script/gs_preinstall -U omm -G dbgroup -X /opt/software/openGauss/cluster_config.xml

```

  1. **切换至 omm 用户并执行安装**

```bash

su - omm

gs_install -X /opt/software/openGauss/cluster_config.xml

```

  1. **安装完成后,清理互信文件(可选)**

```bash

rm -rf ~/.ssh

```


🔧 配置与验证

数据库基本操作

* **连接数据库**:

```bash

gsql -d postgres -p 5432

```

> **注意**:omm 用户是管理员用户,默认无法远程连接。如需远程连接,需创建一个新的数据库用户。

* **启动数据库**:

```bash

gs_ctl start -D /opt/software/openGauss/data

```

* **关闭数据库**:

```bash

gs_ctl stop -D /opt/software/openGauss/data

```

配置远程访问

  1. **编辑 `postgresql.conf`**:

```bash

vi /opt/software/openGauss/data/postgresql.conf

```

修改 `listen_addresses = '*'` 和 `port = 5432`。

  1. **编辑 `pg_hba.conf`**:

```bash

vi /opt/software/openGauss/data/pg_hba.conf

```

添加以下行以允许所有 IP 连接:

```

host all all 0.0.0.0/0 sha256

```

  1. **重启数据库使配置生效**:

```bash

gs_ctl restart -D /opt/software/openGauss/data

```

防火墙与端口

如果启用了防火墙,需要开放 5432 端口:

```bash

firewall-cmd --zone=public --add-port=5432/tcp --permanent

firewall-cmd --reload

```


❓ 常见问题

* **内存不足**:官方推荐 32GB 内存,如果系统内存较低,可以尝试使用极简版或轻量版,它们对内存的要求更低(如 2C4G)。

* **密码复杂度不符合要求**:请确保设置的密码至少包含 **8 个字符**,并同时包含大写字母、小写字母、数字和特殊符号中的三类。

* **预安装失败**:请检查 `cluster_config.xml` 配置文件中的路径和 IP 是否正确,以及系统依赖是否已全部安装。

* **安装进程卡住**:可以检查 `/var/log/messages` 或 openGauss 的日志文件,以获取更具体的错误信息。

相关推荐
运维行者_6 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
国强_dev7 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
@insist1237 小时前
系统规划与管理师-信息系统规划核心工作要点解析
数据库·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
超级数据查看器7 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天7 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
南墙上的石头8 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
画中有画9 小时前
论向量数据库在项目中的应用
数据库
spider_xcxc10 小时前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算
l1t10 小时前
在linux和windows中解决duckdb 1.6dev版本输出执行计划报错问题
linux·运维·数据库·windows·duckdb
执子手 吹散苍茫茫烟波11 小时前
RC 隔离级别下 MySQL InnoDB 死锁典型案例
数据库·mysql