安装步骤读者自行完成
查看操作系统
cat /etc/redhat-release

当前我的操作系统版本是centos7.9.2009
root登录虚拟,创建/opt/software/openGauss目录
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
由于是最小化安装centos7.6,需要安装额外的软件
yum install net-tools.x86_64 -y # 没有ifconfig命令需要安装该软件
yum install -y epel-release # 安装当yum显示没有可用软件包的时候,代表在linux系统yum源中已经没有对应的安装包了,这时,我们需要安装EPEL。EPEL(Extra Packages for Enterprise Linux),企业版Linux额外包,RHEL分布非标准包的社区类库。
yum update
yum install -y bzip2 # 安装bzip2用于后面的解压openGauss安装包
安装python3.6
检查现有的python环境
python -V
结果是:python 2
安装python3
yum install -y python3
检查结果:
python3 -V
安装前检查软件环境
检查如下表格中的软件是否已经存在,如不存在则需要手动安装

执行如下命令查看
yum list libaio-devel
yum list flex
yum list bison
yum list ncurses-devel
yum list glibc-devel
yum list patch
yum list redhat-lsb-core
yum list readline-devel
结果显示如下表:
| 所需软甲 | 实际版本 | 建议版本 |
|---|---|---|
| libaio-devel | 0.3.109-13.el7 | |
| flex | 2.5.37-6.el7 | |
| bison | 3.0.4-2.el7 | |
| ncurses-devel | 5.9-14.20130511.el7_4 | |
| glibc-devel | 2.17-326.el7_9 | |
| patch | 2.7.1-12.el7_7 | |
| redhat-lsb-core | 4.1-27.el7.centos.1 | |
| readline-devel | 6.2-11.el7 (不符合要求,我这里不用修改也可用) | 7.0-13 |
关闭SELINUX,将值改成disabled
vim /etc/selinux/config

重启操作系统
设置时区和时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置字符集参数
vi /etc/locale.conf
设置为:utf-8
LANG=“en_US.UTF-8”
设置网卡MTU值
ifconfig ens33 mtu 8192

允许root用户远程登陆:
vim /etc/ssh/sshd_config
将“PermitRootLogin yes”前面的#号去掉
让配置生效
systemctl restart sshd.service
创建dbgroup组和用户omm,修改/opt/software/openGauss目录用户及其用户组为omm:dbgroup
groupadd dbgroup
useradd -g dbgroup omm # 可后面安装时创建
passwd omm #设置密码为Gauss_1234
chown -R omm:dbgroup /opt/software/openGauss
使用omm远程登录虚拟机,并上传openGauss安装包
解压openGauss安装包
tar -zvxf openGauss-3.0.0-CentOS-64bit-all.tar.gz
解压openGauss-3.0.0-CentOS-64bit-om.tar.bz2到当前目录
tar -zvxf openGauss-3.0.0-CentOS-64bit-om.tar.bz2
在当前目录下创建cluster_config.xml,下面IP、主机名等修改成你自己的环境
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="dbCluster" />
<PARAM name="nodeNames" value="centos76openGauss" />
<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="backIp1s" value="192.168.76.150"/>
CLUSTER>
<DEVICELIST>
<DEVICE sn="centos76openGauss">
<PARAM name="name" value="centos76openGauss"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.76.150"/>
<PARAM name="sshIp1" value="192.168.76.150"/>
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
DEVICE>
DEVICELIST>
ROOT>
切换到root用户,修改系统参数sysctl.conf(根据实际情况进行设置对应的属性),执行:vim /etc/sysctl.conf
# add
net.ipv4.tcp_keepalive_probes = 9
# add
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
# add
net.ipv4.tcp_syncookies = 1
net.sctp.sctp_mem = 94500000 915000000 927000000
net.sctp.sctp_rmem = 8192 250000 16777216
net.sctp.sctp_wmem = 8192 250000 16777216
# add
# net.ipv4.ip_local_port_range = 26000-65535
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
# add
vm.overcommit_memory = 0
vm.extfrag_threshold = 500
vm.overcommit_ratio = 90
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries2 = 12
net.ipv4.ip_local_reserved_ports = 15400-15407,20050-20057
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
kernel.sem = 250 6400000 1000 25600
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
vm.min_free_kbytes = 193062
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535
kernel.shmall = 1152921504606846720
kernel.shmmax = 18446744073709551615
执行生效命令:
sysctl -p
切换到root用户,进入到/home/omm/script目录下
执行预安装命令
cd script
./gs_preinstall -U omm -G dbgroup -X /home/omm/cluster_config.xml
在执行过程中,会提示是否需要创建omm用户,如已经创建输入no,没有则输入yes
检查如果没有问题就继续下面步骤操作,如有问题,检查下是什么问题。
上述与安装命令执行成功后,还需要修改相应目录的所属用户组及其权限
先修改下script目录下的文件的权限为755,执行命令:
chmod -R 755 /home/omm/script/
然后修改如下目录及其子目录的用户及其用户组为omm和dbgroup,执行如下命令:
chown -R omm:dbgroup /home/omm/
切换到omm用户,进入到/home/omm/script/目录下,执行如下命令完成安装openGauss
./gs_install -X /home/omm/cluster_config.xml --gsinit-parameter="--locale=zh_CN.utf8"
命令执行过程中,会提示用户需要输入postgres数据库密码,请输入密码并记住该密码,后续需要使用该密码通过gsql方式连接数据库
验证结果
安装执行完成后,使用ps和gs_ctl查看进程是否正常
ps ux | grep gaussdb
检查openGauss状态
gs_om -t status --detail

openGauss启停服务
#分布式openGauss:
gs_om -t start 启动服务
gs_om -t restart 重启服务
#集中式openGauss:
gs_om -t stop 关闭服务
gs_om -t start 启动服务
查看openGauss数据库状态
gs_om -t status --detail
结果:
[omm@centos76openGauss ~]$ gs_om -t status --detail
[ Cluster State ]
cluster_state : Normal
redistributing : No
current_az : AZ_ALL
[ Datanode State ]
node node_ip port instance state
--------------------------------------------------------------------------------------
1 centos76openGauss 192.168.76.150 15400 6001 /opt/huawei/install/data/dn P Primary Normal
gs_checkperf
#1. 以简要格式在屏幕上显示性能统计结果。
gs_checkperf -i pmk -U omm
#2. 以详细格式在屏幕上显示性能统计结果。
gs_checkperf -i pmk -U omm --detai
查看数据库端口号
cat /opt/huawei/install/data/dn/postgresql.conf | grep port
以omm操作系统用户登录远程服务器,然后登录openGauss数据库
gsql -d postgres -p 15400 # 你自己设置端口
导入school.sql,执行:
\i /home/omm/simpleInstall/school.sql
导入finance.sql,执行:
\i /home/omm/simpleInstall/finance.sql
数据库用户增删改查
create user 用户名 with password "密码"; # 新增用户
drop user 用户名 cascade; # 删除用户,注意删前必须确保该用户下没有其他资源了,如没有所属的database
数据库增删改查
create database testdb01 owner suben; #创建属于suben用户的数据库

将数据库testdb01所属用户改成omm
alter database testdb01 owner to omm;

删除数据库testdb01,执行
drop database testdb01;

表增删改查
create table t1(id int,name varchar(10));
alter table t1 add gender varchar(10);

insert into t1 values(1,'张三','男');
update t1 set name='里斯' where id=1;

select * from t1 limit 1;
delete from t1;

drop table t1;
