写在前面

本教程适用于 0 基础小白,里面的很多命令、技术细节没有进行解释,因为那样要增补的内容太多了,都是一些 Linux 的相关知识,还有一些 openGauss 官方手册里面的内容,太过于啰嗦

学校上的数据库,安排的数据库的实验说要用华为这款开源的数据库,(估计是学校近些年一直跟华为合作),内核是拿 PostgreSQL 写的,老师给的教程是拿 VirtualBox 轻量级的那款虚拟机管理软件搭建虚拟机进行安装的,老师也已经给出了配好的 虚拟机.ovf 文件,直接导入就能用,但是我自己已经用了好久的 VMware ,不想再更换虚拟机软件,所以就索性自己找资料搭了环境,不算顺利,但是也学到了不少东西

第一次搭大概用了一个小时,第二次边写教程边搭倒是花了两个小时多

2021.4.10

导出配好的虚拟机, vm 导入时候会自动分配 ip 地址,也就是如果要使用我导出的配好的虚拟机,那么 偷懒者的 vm 网络配置必须是采用静态分配,子网是 192.168.1.0,DHCP 需要配置静态分配地址跟导出虚拟机的 ip 地址一样,为 192.168.1.142 ,应该是能自定义虚拟机的 ip 地址的,但是没有继续往下研究了,因为发现用 docker 搭建这个环境会更加简单,下一篇博客写用 docker 怎么搭建

2021.4.11

突然想到,其实安好 CentOS 之后就应该直接拿 xshell 连,用 xshell 的终端来输入命令,这样就不用手打那么多了,直接复制粘贴就行,但是博客文章里写开始用到 xshell 在后面位置,真是蠢

安装 CentOS 7.6

一定得是 CentOS-7.6 的版本,因为华为官方的文档要求这样的,如果用的其他版本则需要更改配置

vi /etc/redhat-releas 打开编辑文件,然后将内容改为 CentOS Linux release 7.6.2003 (Core)

我没试过,因为我下的 CentOS 就是 7.6 的版本,但是老师给的教程文档里面这么写的

打开 VMware,创建虚拟机,在其上安装 CentOS,选择创建新的虚拟机

选自定义,兼容性也直接下一步,选稍后安装操作系统

虚拟机名称,存放位置自己选,处理器和内核数量都选一个,内存要给 4g,不然可能出现报错

磁盘给 20-40g ,将虚拟磁盘存储为单个文件,这个比较方便

因为不是一次分配,所以空间设置大些,网传 openGauss 安装有至少 20g 空间要求。

设置为单个文件,比较方便。

点自定义硬件,再点处理器,虚拟化全部勾上,再点新 CD/DVD ,使用压缩包内的镜像,再删除打印机和声卡

点关闭,点完成,接着开启虚拟机

这个界面方向盘键选中第一个然后直接按 enter

下面就一点点进行设置

设置时间,点一下第一个时钟然后点一下亚洲大陆,然后点完成

点一下安装位置然后点完成退出来,默认设置就行,再点 “网络和主机名”,打开以太网的开关

主机名字自己定一个,要记住,很重要,ip 地址也要记住,也很重要

上图的信息很重要,在 openGauss 安装的时候,clusterconfig.xml 中的一些值便需要用到是上述信息,ip 地址和 hostname ,这里的 ip 地址是 192.168.1.142hostnameAimerl0,然后点开始安装

开始配置 root 密码,密码是:010625.(有个点),配置完以后就开始自动安装了,等待完成即可,安装完成,reboot 重启就可以了

安装 openGauss

启动 CentOS,用 root 账户以及密码 010625. 登录后,就可以进行 openGauss 的安装了,在关键或者你不是很确定的地方,点击虚拟机左上角的建立快照,如果后续出问题了恢复快照

关闭防火墙和禁用防火墙

1
2
systemctl stop firewalld.service
systemctl disable firewalld.service

之后输入命令,进入文档编辑状态,按键盘上面的 i 键 ,然后就可以对文档进行编辑,编辑后为

1
vi /etc/selinux/config

编辑结束,需要保存,保存的方式为,先按键盘上的 esc 键,然后在屏幕下方输入:wq即可,如果编辑错误,不想保存,则输入的是:q!,注意都是英文字符。

然后重启,输入 reboot

重启后,用账号 root,密码 010625. 登录后继续设置,先关闭内存交换

1
sqapoff -a

然后安装 ifconfig 的组件,输入 yum install net-tools.x86_64,自动下载安装包,如果有问填 y 还是n,都是 y

安装完成后,我们就可以使用 ifconfig 命令了

下面测试 root 远程登录。命令:ssh “你的ip,用ifconfig查”

输入密码后,需要等待一下,测试登录成功

下面需要联网升级安装 python3.6 ,命令:yum install python3,遇到问题就选 y

继续安装压缩软件,输入命令:yum install bzip2

然后一步安装相关的包,命令:yum install -y libaio-devel flex bison ncurses-devel glibc.devel patch lsb_release wget

做个快照,随便起个记录当前干了什么的名

下面需要将一个重要的,在安装过程中会多次用到的配置文件放到虚拟机中,该配置文件名为 clusterconfig.xml

需要修改的内容是标出来的内容,一个是主机名,一个是 ip 地址,都是之前配置过的,Aimerl0192.168.1.142

/opt/software/openGauss/路径下创建 XML 配置文件,用于数据库安装

1
[root@Aimerl0 openGauss]# vi clusterconfig.xml

然后把下面的内容复制,粘贴到 vi 打开的 clusterconfig.xml 中,按 i 键切换到编辑模式,复制内容黏贴到文档中,然后按下 esc 键退出编辑模式,然后输入:wq退出并进行保存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<PARAM name="nodeNames" value=" Aimerl0"/>
<PARAM name="name" value="Aimerl0"/>
<PARAM name="backIp1s" value="192.168.1.142"/>
<PARAM name="backIp1" value="192.168.1.142"/>
<PARAM name="sshIp1" value="192.168.1.142"/>
下面的文档是全文,这里上面的东西只是标出需要对照修改的地方,方便看。

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<PARAM name="clusterName" value="dbCluster"/>
<PARAM name="nodeNames" value=" Aimerl0"/>
<PARAM name="backIp1s" value="192.168.1.142"/>
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app"/>
<PARAM name="gaussdbLogPath" value="/var/log/omm"/>
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp"/>
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<PARAM name="corePath" value="/opt/huawei/corefile"/>
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="1000001">
<PARAM name="name" value="Aimerl0"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将 backIP1和 sshIP1配置成同一个 IP -->
<PARAM name="backIp1" value="192.168.1.142"/>
<PARAM name="sshIp1" value="192.168.1.142"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="26000"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/db1"/>
</DEVICE>
</DEVICELIST>
</ROOT>

第零步:开 xshell 连我们的虚拟机,因为可以直接复制命令进去,安装 xshell 软件,打开,左上角文件然后新建

点击连接即可,之后的命令都在 xshell 的终端里输入,可以从文档中复制然后进去右键粘贴

第一步:创建存放数据库安装目录,命令:

1
mkdir -p /opt/software/openGauss

下载数据库安装包:

1
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86/openGauss-1.1.0-CentOS-64bit-all.tar.gz

解压 openGauss-1.1.0-CentOS-64bit-all.tar.gz 包:

1
tar -zxvf openGauss-1.1.0-CentOS-64bit-all.tar.gz

再解压 openGauss-1.1.0-CentOS-64bit-om.tar.gz 包

1
tar -zxvf openGauss-1.1.0-CentOS-64bit-om.tar.gz

解压完成后输入 ls 看到如下

更改权限: chmod 755 -R /opt/software

做快照,xshell 跟虚拟机是同步的,所以此时虚拟机已经执行了上面的命令,所以可以建立快照,命名随便,准备安装

创建用户和组

输入密码为 openGauss

下面给 omm 用户授权

开始安装

安装成功无报错

做快照

配置免密钥登录和操作系统参数

1
2
cd /root/.ssh
ssh-keygen -t rsa -f ~/.ssh/id_rsa

连按两下空格生成结果如下

下面将这些复制到一个文件里面并且测试不需要密码登录

1
2
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
ssh 192.168.1.142(ip地址)

下面,配置/etc/hosts文件,vi /etc/hosts 进去以后加一行(vi 的操作都一样),内容为 “ip地址(三个空格)Aimerl0(之前配置的hostname)

之后修改传输文件的最大值

1
2
echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf

做个快照,之后开始正式安装,做完快照 reboot 重启一遍

输入 su - omm,再输入gs_install -X /opt/software/openGauss/clusterconfig.xml

之后要设置一个数据库的密码,Aimerl0@123

安装过程有点久,而且期间要多次输入omm 用户的密码,输入之前设置的 openGauss

如果有报错,跟下图不一样,恢复快照,reboot 重启,可能是虚拟机内存不够,然后再安装一遍,如果还不行,可能是物理机上的电脑内存不太够用,不太够分配给虚拟机了,重启电脑

安装成功后建立快照

终于成功了,这里输入的数据库密码是 Aimerl0@123 ,omm 的密码是 openGauss,开机 root 账户密码是 010625.

openGauss 的简单实用

这里假设,openGauss 已经启动(默认安装后,会启动,关机后的启动见后面),下面测试连数据库

1
2
3
su root 输入密码
cd /opt/software/openGauss/script/
./gs_checkos -i A

之后进入 openGauss

1
2
su - omm
gs_om -t status -detail

查看端口信息

1
cat /opt/huawei/install/data/db1/postgresql.conf | grep port

可以看到26000是主结点端口号,使用 gsql 连接数据库,连接成功

接下来是数据库的使用,华为开源的 openGauss 数据库的内核采用的是 postgreSQL ,所以接下来的数据库操作、语法都遵循其语法,菜鸟教程里面有教怎么用,随便学学就会了

关机后再开机,如何运行 openGauss

也是先 su – omm切换用户,然后gs_om -t start即可启动

连接数据库 postgres 的操作就是 gsql -d postgres -p 26000

其中 postgres 是数据库名,openGauss 默认的数据库是 postgres

如果有自己原先创建的数据库,改个名连接就行

参考资料

学校老师发的官方文档(在本地)

本篇博客参考资料来自其他课号唐老师的安装指导文档:地址

CentOS 7 下安装openGauss详细教程(单机或一主多从)以及部署一些问题_四岁小的博客-CSDN博客

openGauss数据库安装手册_whereiwillgo的博客-CSDN博客_opengauss安装指南

手把手带你快速安装openGauss - 墨天轮

openGauss保姆式安装说明_ygp12345的博客-CSDN博客

安装openGauss:执行安装及示例

轻松上手openGauss(程序员篇)之openGauss安装部署_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

openGauss使用准备 - 墨天轮

PostgreSQL 语法 | 菜鸟教程