在这里插入图片描述

一、openGauss简介

什么是openGauss?
openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。

  • 多种存储模式支持复合业务场景,新引入提供原地更新存储引擎。
  • NUMA化数据结构支持高性能。
  • Paxos一致性日志复制协议,主备模式,CRC校验支持高可用。
  • 支持全密态计算、账本数据库等安全特性,提供全方位端到端的数据安全保护。
  • 通过Table Access Method接口层支持多存储引擎。
    openGauss是一款提供面向多核的极致性能、全链路的业务和数据安全,基于AI的调优和高效运维的能力,全面友好开放,携手伙伴共同打造全球领先的企业级开源关系型数据库,采用木兰宽松许可证v2发行。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。
    openGauss官网:https://opengauss.org/zh/

二、openGauss数据库安装

安装包下载
安装包下载地址:https://opengauss.org/zh/download/
这里大家可以选择适合自己的安装包
[图片]

数据库连接驱动下载
这里我选择常见的连接方式JDBC
[图片]

开始进行安装操作,这块官方也是给出详细的操作文档,建议大家自己实操一遍。
创建用户组
创建名为dbgroup的用户组。

groupadd dbgroup

创建用户并设置密码
在dbgroup用户组下创建普通用户omm,并设置其密码(建议密码为omm@123)。

useradd -g dbgroup omm
passwd omm

解压安装包
使用omm用户登录到安装主机,将openGauss压缩包解压到指定安装目录(示例目录为/opt/software/openGauss)。

tar -jxf openGauss-Lite-6.0.1-openEuler22.03-aarch64.tar.gz -C /opt/software/openGauss

进入安装目录
切换到解压后的安装目录。

cd /opt/software/openGauss

执行安装脚本
运行install.sh脚本安装openGauss,其中-w参数用于指定数据库初始化密码(安全性要求必须设置)。

sh install.sh -w xxxx

验证安装状态
安装完成后,通过使用ps和gs_ctl查看进程是否正常。

ps ux | grep gaussdb
gs_ctl query -D /opt/software/openGauss/data/

三、Docker环境下部署openGauss(推荐)

在启动任何前端关联的开发工作前,搭建一套稳定可靠的数据库环境是首要前提。借助 Docker 容器化部署方案,不仅能大幅简化 MySQL/PostgreSQL 等 SQL 数据库的安装配置流程,还能有效规避不同开发环境下的依赖冲突,确保从本地开发到测试部署的环境一致性,为后项目的数据交互层开发筑牢基础。
考虑到有的同学可能没有安装过docker,Docker Desktop官网也在这里附上:https://app.docker.com/

  1. 获取openGauss镜像
    首先从Docker Hub拉取最新的openGauss镜像:
docker pull opengauss/opengauss:latest
  1. 验证镜像下载
    镜像下载完成后,可以通过以下命令确认其状态:
docker images

正常情况下,你应该能看到类似下面的输出:

REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
opengauss/opengauss   latest              9aa832ba6684        2 hours ago         1.44GB

[图片]

  1. 启动容器实例
    接下来,我们将基于下载的镜像创建并运行一个容器实例:
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=YourPassoword -p 8888:5432 opengauss/opengauss:latest

这里需要特别注意密码设置,必须包含大小写字母、数字和特殊字符的组合。这个密码将用于系统默认创建的超级用户omm,该用户名在当前版本中是固定的。
[图片]

  1. 确认容器运行状态
    使用以下命令检查容器是否正常运行:
docker ps

如果看到如下输出,说明容器已成功启动:

CONTAINER ID        IMAGE                        COMMAND                  CREATED              STATUS              PORTS                    NAMES
7abc538f242a        opengauss/opengauss:latest   "entrypoint.sh gauss…"   About a minute ago   Up About a minute   0.0.0.0:8888->5432/tcp   opengauss

[图片]

  1. 进入数据库控制台

通过以下步骤可以进入容器内部并连接到数据库:

docker exec -it opengauss bash
su omm    # 切换到系统默认超级用户
gsql -d postgres -p 5432   # 连接到默认数据库

成功连接后,你将看到数据库提示符,此时可以使用\l命令查看系统中所有可用的数据库。
[图片]

虽然这时候可以看到相关的数据库了,但是都是命令类的看起来相当不方便。下面就想办法通过哦图像化类的进行查看。首先需要配置远程访问权限

四、配置远程访问权限

默认情况下,openGauss出于安全考虑限制了外部网络连接。为了能够从开发环境中访问数据库,我们需要进行一些配置调整。
修改认证与网络配置

  1. 首先进入容器命令行:
docker exec -it opengauss bash
  1. 更新客户端认证文件,启用更安全的认证方式:
sed -i 's/host all all 0.0.0.0\/0 md5/host all all 0.0.0.0\/0 sha256/' /var/lib/opengauss/data/pg_hba.conf
  1. 调整数据库主配置文件,允许监听所有网络接口:
sed -i '/listen_addresses/d' /var/lib/opengauss/data/postgresql.conf
echo "listen_addresses = '*'" >> /var/lib/opengauss/data/postgresql.conf
  1. 重启容器使配置生效:
exit  # 退出容器
docker restart opengauss

创建应用专用用户
由于系统默认的omm用户不允许远程登录,我们需要创建一个新的用户账户用于应用开发:

  1. 进入容器并切换到omm用户:
docker exec -it opengauss /bin/bash

su - omm
2. 连接到数据库并创建新用户:

gsql -d postgres -p 5432
  1. 执行SQL命令创建用户并授权:
CREATE USER app_user WITH PASSWORD 'AppUserPassword123';
ALTER USER app_user SYSADMIN;

请务必使用强密码替换示例中的密码文本(这里博主为了方便就用默认密码了)
[图片]

使用Navcat进行数据库管理
为了更直观地管理和操作数据库,我们可以使用Navicat这款功能强大的数据库客户端工具。
不知道怎么安装Navicat的可以参考博主之前发过的文章:https://www.cnblogs.com/fruge365/p/17368481.html

  1. 访问Navicat下载并安装适合你操作系统的版本。

  2. 启动Navicat后,点击"文件" → “新建” → “数据库连接”,选择PostgreSQL作为数据库类型(因为openGauss与PostgreSQL兼容)。
    [图片]

  3. 在连接设置界面中填写以下信息:

  • 主机:localhost
  • 端口:8888
  • 数据库:postgres
  • 用户名:app_user
  • 密码:AppUserPassword123(你之前设置的密码)
    完成以上配置后,你就可以成功连接到openGauss数据库,并通过图形界面直观地查看和管理数据库对象了。特别是在后续实现向量存储功能时,这种可视化管理方式将大大提高开发效率。
    [图片]

五、后续规划实现

完成前端开发环境搭建后,我将继续探索 Node.js + Express 与 SQL 数据库的集成方案,实现基于结构化数据的高效数据查询与交互系统。在后续笔记中,我会详细介绍 Node.js 环境配置、Express 项目路由设计、中间件封装以及 SQL 数据建模与 CRUD 接口实现的完整过程。通过这次实践,我深刻体会到了 Node.js 生态在前端后端一体化开发中的灵活优势,以及 SQL 数据库在结构化数据存储与高效查询中的核心价值。随着项目的推进,我将不断总结 Express 接口优化、SQL 语句性能调优、前后端数据交互规范等实践经验,分享更多前端工程化与数据层交互的技术细节和实战心得。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐