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 的日志文件,以获取更具体的错误信息。

相关推荐
HalvmånEver19 小时前
MySQL的内置函数
linux·数据库·学习·mysql
m0_7364393019 小时前
Workerman5.0协程实战:PHP高并发新标准
jvm·数据库·python
2301_8180084419 小时前
golang如何实现消息过滤路由_golang消息过滤路由实现要点
jvm·数据库·python
鸡蛋灌Bean19 小时前
mybatis分页深入了解
java·数据库·mybatis
2401_8314194419 小时前
Python分类汇总怎么做_Crosstab交叉表与多条件联合频数频率统计
jvm·数据库·python
2301_7873124320 小时前
Go语言怎么用channel做信号通知_Go语言channel信号模式教程【完整】
jvm·数据库·python
2301_8180084420 小时前
如何删除ASM中的数据文件_ALTER DISKGROUP DROP FILE彻底清除
jvm·数据库·python
IT界的老黄牛20 小时前
MySQL 磁盘告警 1.2TB:从衣柜原理到 gh-ost 卧底,一次释放 540GB 的实战复盘
运维·数据库·mysql
deviant-ART20 小时前
MySQL 实战:如何根据 ID 将表 B 的字段更新到表 A
数据库·mysql
2401_8987176620 小时前
mysql如何进行全量数据库备份_mysqldump工具的使用技巧
jvm·数据库·python