当前位置: 首页 > news >正文

OpenEuler学习笔记(三十三):在 OpenEuler 上搭建 OpenGauss 数据库环境

在这里插入图片描述

在 OpenEuler 上搭建 OpenGauss 数据库环境需要按照以下步骤进行。OpenGauss 是华为开源的一款高性能关系型数据库,支持高并发、高可用性和分布式部署。


1. 环境准备

确保你的 OpenEuler 系统满足以下要求:

  • 操作系统:OpenEuler 20.03 LTS 或更高版本。
  • 硬件要求
    • 至少 4GB 内存。
    • 至少 20GB 磁盘空间。
  • 依赖工具python3libaio-devellibnsl 等。
1.1 安装依赖
sudo dnf install -y python3 libaio-devel libnsl
1.2 创建用户和组

OpenGauss 不建议使用 root 用户运行,因此需要创建一个专用用户:

sudo groupadd dbgrp
sudo useradd -g dbgrp omm
sudo passwd omm  # 设置密码

2. 下载 OpenGauss

从 OpenGauss 的官方仓库或镜像站点下载安装包。

2.1 下载 OpenGauss

访问 OpenGauss 官网 或 GitHub 仓库,选择适合 OpenEuler 的版本。

例如,下载 OpenGauss 3.0.0:

wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86_openEuler/openGauss-3.0.0-openEuler-64bit.tar.gz
2.2 解压安装包
tar -xzf openGauss-3.0.0-openEuler-64bit.tar.gz
cd openGauss

3. 配置 OpenGauss

3.1 创建数据目录
sudo mkdir -p /opt/opengauss/data
sudo chown -R omm:dbgrp /opt/opengauss
3.2 修改配置文件

编辑 clusterconfig.xml 文件,配置数据库实例参数:

<ROOT><CLUSTER><PARAM name="clusterName" value="opengauss_cluster"/><PARAM name="nodeNames" value="node1"/><PARAM name="backIp1s" value="192.168.1.100"/> <!-- 替换为你的服务器IP --><PARAM name="gaussdbAppPath" value="/opt/opengauss/app"/><PARAM name="gaussdbLogPath" value="/opt/opengauss/log"/><PARAM name="gaussdbToolPath" value="/opt/opengauss/tool"/><PARAM name="corePath" value="/opt/opengauss/corefile"/><PARAM name="clusterType" value="single-inst"/></CLUSTER><DEVICELIST><DEVICE sn="node1"><PARAM name="name" value="node1"/><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><PARAM name="backIp1" value="192.168.1.100"/> <!-- 替换为你的服务器IP --><PARAM name="sshIp1" value="192.168.1.100"/> <!-- 替换为你的服务器IP --><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="15400"/><PARAM name="dataNode1" value="/opt/opengauss/data/dn"/></DEVICE></DEVICELIST>
</ROOT>
3.3 初始化数据库

使用 gs_initdb 命令初始化数据库:

sudo -u omm gs_initdb -D /opt/opengauss/data --nodename=node1 -w your_password
  • -D:指定数据目录。
  • --nodename:指定节点名称。
  • -w:设置数据库管理员密码。

4. 启动 OpenGauss

4.1 启动数据库
sudo -u omm gs_ctl start -D /opt/opengauss/data
4.2 检查状态
sudo -u omm gs_ctl status -D /opt/opengauss/data

5. 连接 OpenGauss

5.1 使用 gsql 连接
sudo -u omm gsql -d postgres -p 15400 -r
  • -d:指定数据库(默认是 postgres)。
  • -p:指定端口(默认是 15400)。
5.2 创建用户和数据库
CREATE USER testuser WITH PASSWORD 'testpassword';
CREATE DATABASE testdb OWNER testuser;

6. 配置远程访问(可选)

6.1 修改配置文件

编辑 /opt/opengauss/data/pg_hba.conf,添加以下内容以允许远程访问:

host    all             all             0.0.0.0/0               md5
6.2 重启数据库
sudo -u omm gs_ctl restart -D /opt/opengauss/data

7. 验证安装

通过远程客户端(如 DBeaver、pgAdmin)连接 OpenGauss 数据库,验证是否正常运行。


8. 其他注意事项

  • 防火墙配置:确保开放 OpenGauss 的端口(默认 15400)。
  • 备份与恢复:使用 gs_dumpgs_restore 工具进行数据备份和恢复。
  • 性能优化:根据业务需求调整数据库参数(如 postgresql.conf)。

通过以上步骤,你可以在 OpenEuler 上成功搭建 OpenGauss 数据库环境。如果需要更复杂的部署(如分布式集群),可以参考 OpenGauss 的官方文档进行配置。

相关文章:

OpenEuler学习笔记(三十三):在 OpenEuler 上搭建 OpenGauss 数据库环境

在 OpenEuler 上搭建 OpenGauss 数据库环境需要按照以下步骤进行。OpenGauss 是华为开源的一款高性能关系型数据库&#xff0c;支持高并发、高可用性和分布式部署。 1. 环境准备 确保你的 OpenEuler 系统满足以下要求&#xff1a; 操作系统&#xff1a;OpenEuler 20.03 LTS 或…...

[C++]多态详解

目录 一、多态的概念 二、静态的多态 三、动态的多态 3.1多态的定义 3.2虚函数 四、虚函数的重写&#xff08;覆盖&#xff09; 4.1虚函数 4.2三同 4.3两种特殊情况 &#xff08;1&#xff09;协变 &#xff08;2&#xff09;析构函数的重写 五、C11中的final和over…...

调用DeepSeek API接口:实现智能数据挖掘与分析

调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…...

ffmpeg-cli-wrapper操作ffmpeg的工具

学习链接 ffmpeg-cli-wrapper - 内部封装了操作ffmpeg命令的java类库&#xff0c;它提供了一些类和方法&#xff0c;可以方便地构建和执行 ffmpeg 命令&#xff0c;而不需要直接操作字符串或进程。并且支持异步执行和进度监听 springboot-ffmpeg-m3u8-convertor - gitee代码 …...

【Qt】QObject类的主要功能

在 Qt 中&#xff0c;QObject 类是所有 Qt 对象的基类&#xff0c;提供了许多基础功能&#xff0c;使得 Qt 的对象系统能够有效地工作。它为其他类提供了核心的机制&#xff0c;比如信号和槽机制、对象树结构、内存管理等。 QObject 类的主要功能&#xff1a; 信号和槽机制&am…...

学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统

这应该算 stm32裸机用户 转 linux嵌入式系统 的入门学习笔记。 【鲁班猫】39-vnc远程桌面连接鲁班猫_哔哩哔哩_bilibili 本集的鲁班猫的视频介绍中&#xff0c;没有清晰明确指出需要linux开发板接入网络&#xff0c;接入网络可以使用有线网口或者wifi路由&#xff0c;有些提示…...

把 CSV 文件摄入到 Elasticsearch 中 - CSVES

在我们之前的很多文章里&#xff0c;我有讲到这个话题。在今天的文章中&#xff0c;我们就提重谈。我们使用一种新的方法来实现。这是一个基于 golang 的开源项目。项目的源码在 https://github.com/githubesson/csves/。由于这个原始的代码并不支持 basic security 及带有安全…...

PyQt组态软件 拖拽设计界面测试

PyQt组态软件测试 最近在研究PyQt,尝试写个拖拽设计界面的组态软件&#xff0c;目前实现的功能如下&#xff1a; 支持拖入控件&#xff0c;鼠标拖动控件位置 拖动控件边缘修改控件大小支持属性编辑器&#xff0c;修改当前选中控件的属性 拖动框选控件&#xff0c;点选控件 控…...

【Python爬虫(1)】专栏开篇:夯实Python基础

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

Java中的分布式(概念说明)

1. 分布式的基本概念 1.1 什么是分布式系统&#xff1f; 分布式系统&#xff08;Distributed System&#xff09;&#xff1a;由多台服务器&#xff08;或节点&#xff09;协同工作&#xff0c;对外提供一个整体服务。不同节点之间通过网络通信来协同处理请求或共享数据&…...

Field ‘id‘ doesn‘t have a default value

1.程序测试时,运行到向数据库插入数据时,报以下异常 是id没有默认值; 在测试单元内单独向该数据库插入数据,报同样的异常,确定了异常的定位 2.项目时采用mybatisPlus操作数据库,报异常的数据库和另外一个数据库关联,主键ID和另外一个数据库相同,通过读取另外一个数据库的ID获…...

蓝桥杯 Java B 组之栈的应用(括号匹配、表达式求值)

一、栈的基本概念 栈&#xff08;Stack&#xff09;是一种特殊的线性数据结构&#xff0c;遵循后进先出&#xff08;Last In First Out&#xff0c;LIFO&#xff09;的原则。就像一摞盘子&#xff0c;最后放上去的盘子总是最先被拿走。栈有两个主要操作&#xff1a; 入栈&…...

Hive之分区表

Hive之分区表 文章目录 Hive之分区表写在前面分区表分区表基本操作引入分区表创建分区表语法加载数据到分区表中查询分区表中数据增加分区删除分区查看分区表有多少分区查看分区表结构 二级分区正常的加载数据分区表和数据产生关联 动态分区开启动态分区参数设置案例实操 写在前…...

Redis之持久化

1.前言 Redis⽀持RDB和AOF两种持久化机制&#xff0c;持久化功能有效地避免因进程退出造成数据丢失问题&#xff0c; 当下次重启时利⽤之前持久化的⽂件即可实现数据恢复。本文内容&#xff1a; • 介绍RDB、AOF的配置和运⾏流程&#xff0c;以及控制持久化的命令&#xff0c;…...

有关计算机的英语单词、短语、句子

基本计算机术语 Computer – 计算机 Hardware – 硬件 Software – 软件 Operating System (OS) – 操作系统 Processor (CPU) – 处理器&#xff08;中央处理单元&#xff09; Memory (RAM) – 内存&#xff08;随机存取存储器&#xff09; Storage – 存储 Disk Drive – 硬…...

String、StringBuffer、StringBuilder 区别

在 Java 编程中&#xff0c;String、StringBuffer 和 StringBuilder 是处理字符串时常用的类。它们在功能上有相似之处&#xff0c;但在内部实现、性能、线程安全性等方面存在显著差异。理解这些差异有助于开发者在不同的场景下做出合适的选择&#xff0c;提高代码的性能和效率…...

shell——分支语句

文章目录 基本语法常用判断条件(1)两个整数之间比较&#xff08;2&#xff09;按照文件权限进行判断&#xff08;3&#xff09;按照文件类型进行判断&#xff08;4&#xff09;多条件判断&#xff08;&& 表示前一条命令执行成功时&#xff0c;才执行后一条命令&#xf…...

【vue3】实现pdf在线预览的几种方式

今天一天对当前可用的pdf预览插件做了测试&#xff0c;主要需求是只能预览不能下载&#xff0c;但对于前端来说&#xff0c;没有绝对的禁止&#xff0c;这里只罗列实现方式。 目前采用vue3版本为&#xff1a;3.2.37 iframevue-officepdfjs-dist iframe 先说最简单的&#xf…...

(学习总结22)Linux 基本指令1

Linux 基本指令1 基本指令当前目录信息指令 ls查看路径指令 pwd改变当前所在目录指令 cd创建或更改文件时间指令 touch创建目录指令 mkdir删除空目录指令 rmdir删除指令 rm查阅手册指令 man拷贝文件指令 cp移动文件指令 mv打印内容指令 echo 查看指令查找文件指令 find查看指令…...

Linux:用 clang 编译带 sched_ext 功能内核

文章目录 1. 前言2. 编译过程2.1 准备内核源代码2.2 安装编译工具2.3 配置、编译、运行2.3.1 配置2.3.2 编译2.3.3 运行 3. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. 编译过程 …...

TranslucentTB完整指南:3步轻松打造个性化Windows任务栏

TranslucentTB完整指南&#xff1a;3步轻松打造个性化Windows任务栏 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想让你的Windows桌面…...

千问 LeetCode 2122.还原原数组 public int[] recoverArray(int[] nums)

这道题的核心思路是枚举 双指针验证。&#x1f9e0; 解题思路1. 排序&#xff1a;首先将 nums 数组排序。排序后&#xff0c;最小的元素 nums[0] 必然是原数组某个元素减去 k 得到的&#xff08;即 lower 数组中的最小值&#xff09;。 2. 枚举 k&#xff1a;我们遍历排序后…...

Java调用海康SDK的NET_DVR_STDXMLConfig接口,手把手教你获取设备信息(附完整代码)

Java调用海康SDK的NET_DVR_STDXMLConfig接口实战指南 对于需要与海康威视设备深度集成的Java开发者来说&#xff0c;NET_DVR_STDXMLConfig接口是一个强大但容易踩坑的工具。本文将带你从零开始&#xff0c;理解这个接口的工作原理&#xff0c;并提供一个完整的、可直接运行的代…...

京东自动下单工具终极指南:告别手动刷新,让Node.js帮你抢购心仪商品

京东自动下单工具终极指南&#xff1a;告别手动刷新&#xff0c;让Node.js帮你抢购心仪商品 【免费下载链接】jd-happy [DEPRECATED]Node 爬虫&#xff0c;监控京东商品到货&#xff0c;并实现下单服务 项目地址: https://gitcode.com/gh_mirrors/jd/jd-happy 还在为京东…...

应对2026检测算法:英文论文AI率居高不下?5个降AI方法实测盘点

最近正值论文季&#xff0c;不少人在后台私信我诉苦。说辛辛苦苦写出的文章去检测一遍&#xff0c;结果AI率直接飙升到六七十甚至更高。大家都很焦虑&#xff0c;眼看就要提交了&#xff0c;这种无力感我非常懂。 现在各大检测系统不断升级&#xff0c;判定的标准的也是越来越…...

CSS魔法光标实现:提升Web交互体验的发光拖尾效果

1. 项目概述与核心价值最近在做一个需要提升用户交互体验的Web项目&#xff0c;一直在琢磨怎么让鼠标光标这个最基础的交互元素变得更有趣、更“有存在感”。毕竟&#xff0c;在大多数网页里&#xff0c;鼠标指针要么是默认的箭头&#xff0c;要么是简单的手型&#xff0c;存在…...

别再只问Wi-Fi几代了!手把手教你从802.11a到ax看懂路由器参数(附避坑指南)

从Wi-Fi 4到Wi-Fi 6&#xff1a;普通人也能看懂的选购实战手册 每次打开电商页面&#xff0c;看到"双频千兆"、"MU-MIMO"、"OFDMA"这些术语就头疼&#xff1f;别担心&#xff0c;今天我们就用最生活化的比喻&#xff0c;带你轻松掌握路由器的核心…...

元宇宙开发栈:从3D引擎到社交协议的技术拼图

当元宇宙从概念蓝图加速落地为产业现实&#xff0c;其背后复杂的技术体系正成为软件测试从业者必须攻克的新课题。作为连接虚拟与现实的数字新大陆&#xff0c;元宇宙的稳定运行依赖于底层基础设施、核心引擎、交互系统与上层应用的精密协作。对于测试人员而言&#xff0c;深入…...

如何快速配置鸣潮自动化工具:面向新手的完整教程

如何快速配置鸣潮自动化工具&#xff1a;面向新手的完整教程 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves ok-ww是一款基于图像识…...

GUI Guider设计完UI后,如何一步步把代码‘喂’给STM32?保姆级移植与排错指南

GUI Guider设计完UI后&#xff0c;如何一步步把代码‘喂’给STM32&#xff1f;保姆级移植与排错指南 当你用GUI Guider完成精美的UI设计后&#xff0c;真正的挑战才刚刚开始。本文将带你穿越从导出代码到STM32实际运行的完整路径&#xff0c;解决那些官方文档没告诉你的"坑…...