鲲鹏社区首页
中文
注册
基于鲲鹏服务器部署openGauss数据库

基于鲲鹏服务器部署openGauss数据库

openGauss 5.0.0

发表于 2023/07/22

0

实验简介

尊敬的鲲鹏开发者您好,openGauss是一款高性能、高安全、高可靠的企业级开源关系型数据库。适用于如大并发、大数据量、以联机事务处理为主的交易型应用和操作与分析并重的物联网数据场景。满足个人和企业的开发和使用,并支持企业基于openGauss定制发行版,您可以阅读本文通过OM运维管理工具,部署一套openGauss企业版单机数据库系统,从而熟悉openGauss数据库的使用、管理流程。

本文主要介绍了以下知识:

(1) openGauss的基础知识;

(2) 如何进行openGauss数据库的安装部署。

基础技能:

(1) 了解常用的Linux操作命令。

openGauss数据库基础知识

1. openGauss简介

openGauss是单机主备系统,业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。同时通过日志复制可以把数据复制到备机,提供数据的高可靠和读扩展。

2. openGauss集群逻辑结构


整个数据库的逻辑架构由以下部分组成:

OM:运维管理模块,提供数据库日常运维、配置管理的管理接口、工具,如集群部署、升级、日常巡检等。

CM:数据管理模块(Cluster Manager)。管理和监控数据库系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。

客户端驱动:客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责与openGauss实例通信,发送应用的SQL命令,接收openGauss实例的执行结果。

openGauss主备: 负责存储业务数据、执行数据查询任务以及向客户端返回执行结果。 openGauss实例包含主、备两种类型,支持一主多备部署架构。

Storage:服务器的本地存储资源,持久化存储数据。

如需进一步了解openGauss,请前往openGauss社区:https://www.hikunpeng.com/zh/developer/openGauss

准备工作

1.申请鲲鹏远程实验室资源

数据库安装需要在鲲鹏平台上完成,为了方便开发者在鲲鹏环境上进行开发,我们提供了鲲鹏远程实验室资源供大家免费申请。

为了兼顾所有鲲鹏开发者的开发体验,我们在鲲鹏远程实验室中提供了远程服务器(黑框模式)。接下来的体验过程我们会在云开发环境上进行。

首先我们访问鲲鹏社区的远程实验室页面https://www.hikunpeng.com/zh/developer/cloud-lab,申请云开发环境:

之后我们输入自己的邮箱地址,选择openEuler 20.03 LTS-SP1系统,申请成功后登录到远程服务器,直接在鲲鹏上进行操作。



2.安装libaio

libaio是Linux异步非阻塞I/O库,提供以异步的方式读写文件,需要开发者手动完成libaio的安装。进入在线IDE页面后,点击侧边栏第一个图标后,依次点击“终端”、“新建终端”,如下图所示。


执行以下命令安装依赖库。

yum install libaio-devel -y

openGauss企业版安装

1.解压软件包

openGauss 3.0.0软件包以及预置在/opt/gauss目录下,执行以下命令进入该目录并解压软件包。

cd /opt/gauss
tar -xf openGauss-3.0.0-openEuler-64bit-all.tar.gz
tar -xf openGauss-3.0.0-openEuler-64bit-om.tar.gz

2.创建XML配置文件

(1) 执行以下命令查询私有IP地址,如下图所示。

ifconfig


(2) 点击左上角,选择“文件”-“打开文件夹”,在页面上方弹出的输入框中输入路径/opt/gauss,点击“确定”,进入该目录,单击左侧树的clusterconfig.xml配置文件,修改文件内容,修改点如下图所示,图中红色方框内的地方内容要修改为环境真实的信息,即(1)获取到的IP地址。

3.预安装数据库

安装数据库分为两步,预安装gs_preinstall和gs_install。预安装会创建工具、数据、日志文件等目录,并将相关工具写入到对应目录下。安装则会初始化数据目录,将数据库配置文件、数据文件写入。

(1) 执行以下命令修改软件包所在目录权限为755,确保子用户可以访问。

chmod -R 755 /opt/gauss

(2) 执行以下命令进入到安装脚本目录下并安装gs_preinstall。

cd /opt/gauss/script
./gs_preinstall -U omm -G dbgrp -X /opt/gauss/clusterconfig.xml

a.命令参数说明:

-U 指定安装数据库的管理用户,数据库不能安装在root用户下,必须指定子用户。

-G 指定安装数据库用户所在用户组。

-X clusterconfig.xml为数据库集群的配置文件路径

b.预安装说明:

预安装过程成会有一次交互输入,需要创建用户并属于设置用户密码。

Are you sure you want to create the user[omm] and create trust for it (yes/no)?

请输入“yes”,并设置omm用户密码。

注:输入的密码需要满复杂度要求,长度大于8字符且至少包含字母、数字、特殊字符中三种,如:openGauss@123。

等待安装显示“Preinstallation succeeded.”,即说明预安装成功。进行下一步安装操作。

(3)安装数据库

安装需要在子用户下进行,即上一步创建的omm用户。

a.执行以下命令修改软件包所在目录权限为755,确保子用户可以访问。

chmod -R 755 /opt/gauss

b.执行以下命令切换至omm用户。

su - omm

c.执行以下命令进入目标目录并安装gs_install。

cd /opt/gauss/script
./gs_install -X /opt/gauss/clusterconfig.xml

注:安装过程中会提示设置数据库的密码并确认,需要两次输入,请按照提示操作。密码长度需要8-16位并保护数字字母特殊符号,例如:openGauss@123,等待安装完成,出现如下提示即安装成功。


(4) 验证

执行以下命令验证数据库是否安装成功。

ps -ef | grep gauss | grep omm | grep -v grep

若能成功查询进程内容信息,如下图所示,则说明数据库安装成功


openGauss企业版数据库使用

openGauss企业版包含针对数据库集群进行状态查询、启停、增删节点、升级等能力。

1.数据库状态查询

数据库安装完成后,可以通过以下命令查询数据库集群状态。

gs_om -t status --detail


2.数据库启停

(1) 可以通过执行以下命令停止数据库集群。

gs_om -t stop

(2) 可以通过执行以下命令启动数据库集群。

gs_om -t start

3.数据库访问和操作

使用gsql工具可以登录到数据库客户端,执行SQL操作。

(1) 可以通过执行以下命令登录到数据库客户端

gsql -d postgres -p 15400 -r

(2) 执行SQL语句。

a.创建数据库

create database mydb;

b.进入mydb数据库

\c mydb

c.创建表

create table stu(id int, name varchar, age int);

d.查询表以及结构

\d
\d stu

e.插入数据

insert into stu values(1,'xiaoming', 18);
insert into stu values(2,'lihua', 24);

f.查询所有数据

select * from stu;

g. 修改数据

update stu set age=20 where name='lihua';

h.删除数据

delete from stu where id=1;

i.退出数据库

mydb=# \q

4.验证

成功执行上述操作后,执行以下命令验证执行结果是否正确

gsql -d mydb -p 15400 -c "select * from stu"

若能成功查询数据库表信息,如下图所示,则执行结果正确。


恭喜

到这里整个实验流程就已经结束了,通过上面的操作我们就部署好了一套单机的数据库系统,我们可以通过OM来查询以及管理集群状态,通过客户端工具来登录数据库进行增删改查操作。各位鲲鹏开发者也可以参考以上流程来部署主备架构的数据库,或者基于应用程序将后台数据保存到openGauss,成为更加优秀的鲲鹏开发者。

除了以上的实验内容,我们还提供了很多辅助学习资源(课程/实验/文档/文章),希望帮助您更好的使用openGauss数据库。

openGauss简介(课程):https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXK043+Self-paced/about?isAuth=0&cfrom=hwc

一小时快速入门openGauss(实验):https://www.hikunpeng.com/zh/learn/experiments/detail/T221112002

openGauss快速入门(文档):https://docs.opengauss.org/zh/docs/latest/docs/GettingStarted/GettingStarted.html

本页内容