openGauss数据库实操过程:从环境搭建到连接配置,第三方软件进行数据库管理

一、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

  2. 验证镜像下载
    镜像下载完成后,可以通过以下命令确认其状态:

    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

  2. 更新客户端认证文件,启用更安全的认证方式:

    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

  3. 调整数据库主配置文件,允许监听所有网络接口:

    sed -i '/listen_addresses/d' /var/lib/opengauss/data/postgresql.conf
    echo "listen_addresses = '*'" >> /var/lib/opengauss/data/postgresql.conf

  4. 重启容器使配置生效:

    exit # 退出容器
    docker restart opengauss

创建应用专用用户

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

  1. 进入容器并切换到omm用户:

    docker exec -it opengauss /bin/bash

su - omm

  1. 连接到数据库并创建新用户:

    gsql -d postgres -p 5432

  2. 执行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 语句性能调优、前后端数据交互规范等实践经验,分享更多前端工程化与数据层交互的技术细节和实战心得。

相关推荐
5***79001 小时前
后端服务监控面板,关键业务指标
数据库
倔强的石头_3 小时前
面向电力生产调度系统的数据库实践:从时序处理到多中心容灾
数据库
q***47183 小时前
MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
java·数据库·mysql
杨云龙UP4 小时前
【MySQL逻辑备份】基于mysqldump的MySQL 8.0全量逻辑备份脚本
linux·运维·数据库·sql·mysql·mssql
一只爱学习的小鱼儿4 小时前
QT中3D的使用
开发语言·数据库·qt
q***96584 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
k***1955 小时前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
倔强的石头_5 小时前
openGauss进阶:使用DBeaver可视化管理与实战
数据库
GBASE5 小时前
GBASE南大通用技术分享:GBase 8c数据库集群部署服务器时间一致性配置解析(下)
数据库