GBase 8c V5 单机版安装示例
- 一、前言
- 二、准备
- 三、安装
- 四、数据库启停
- 五、卸载
- 六、连接和 SQL 测试
一、前言
GBase 8c 是 GBASE公司(天津南大通用数据技术股份有限公司)自主研发的一款多模多态的企业级分布式数据库:支持行存、列存、内存等多种存储模式;支持单机、主备式、分布式等多种部署形态。
GBase 8c 具备高性能、高可用、弹性伸缩、高安全性等特性,可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。
本文讲解单机版安装部署步骤、卸载、连接测试。属于入门级别的实操课程。
二、准备
0、标识符约定:
命令前的 # 表示以 root 账户执行;
命令前的 $ 表示以 DBA 账户执行。
1、操作系统
硬件 | 配置 |
CPU | Intel® Core™ i5-4300U CPU @ 1.90GHz |
Memory | 2G |
Disk | 20G |
2、确保关闭防火墙
(1) 执行
# systemctl status firewalld.service
如果系统提示以下信息说明防火墙已被禁用
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
(2) 否则,执行
# systemctl stop firewalld.service
# systemctl disable firewalld.service
可以关闭防火墙并禁止防火墙开机自启动。
3、确保关闭 SELINUX
(1) 执行
# sestatus
如果系统提示以下信息说明 selinux 已被禁用
SELinux status: disabled
(2) 否则,打开 selinux 配置文件
# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
将 SELINUX 关键字的值修改为 disabled,存盘退出即完成关闭 SELINUX。
三、安装
1、创建 DBA 用户
# groupadd gbase
# useradd -m -d /home/gbase gbase -g gbase
# passwd gbase
2、添加gbase 用户至sudoer 列表
执行
# visudo
打开 sudoer 配置文件,找到 ”root ALL=(ALL) ALL” 行,在下方增加
“gbase ALL=(ALL) NOPASSWD:ALL”
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
gbase ALL=(ALL) NOPASSWD:ALL
完成 sudoer 配置后,数据库安装就可以用 gbase 用户了。
本文使用的安装包是不能在 root 账户下安装的。
3、在 gbase 用户下,创建安装目录
$ mkdir /home/gbase/gbase8c_pkg
$ cd /home/gbase/gbase8c_pkg
4、使用 SSH 工具上传安装包(GBase8cV5_S3.0.0B29_centos7.8_x86_64.tar.gz)到/home/gbase/gbase8c_pkg/
5、解压安装包
$ tar xvf GBase8cV5_S3.0.0B29_centos7.8_x86_64.tar.gz
解压成功新增四个文件
GBase8cV5_S3.0.0B29_CentOS_x86_64_om.sha256
GBase8cV5_S3.0.0B29_CentOS_x86_64_pgpool.tar.gz
GBase8cV5_S3.0.0B29_CentOS_x86_64.sha256
GBase8cV5_S3.0.0B29_CentOS_x86_64.tar.bz2
再次解压
$ tar xvf GBase8cV5_S3.0.0B29_CentOS_x86_64.tar.bz2
6、开始安装
(1) 切换到 root 用户:
$ su - root
(2) 执行修改信号量最大值的命令:
# sysctl -w kernel.sem="250 85000 250 330"
如果没有执行以上命令,安装脚本将会发生以下错误
[step 1]: check parameter
[step 2]: check install env and os setting
On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.
The required value should be greater than 321. You can modify it in file '/etc/sysctl.conf'.
(3) 切换到 gbase 用户:
# su - gbase
(4) 执行安装脚本:
$ cd /home/gbase/gbase8c_pkg/simpleInstall
$ sh -w 'Abc123!@' -p 5432
-w:初始化数据库密码。密码复杂度要求:长度 8 个字符及以上,且必须同时三种要求(英文字母大小写、数字、以及特殊符号)。
-p:指定数据库连接端口。缺省默认值为5432。
安装即将结束,脚本会提示
Would you like to create a demo database (yes/no)?
输入 yes 回车即可。
(6) 检查 gauss 进程是否存在:
执行
$ ps -ef | grep gauss
结果如下,说明 gauss 进程存在
gbase 26586 1 3 14:50 ? 00:00:04 /home/gbase/gbase8c_pkg/bin/gaussdb -D /home/gbase/gbase8c_pkg/data/single_node
gbase 26692 26298 0 14:52 pts/0 00:00:00 grep --color=auto gauss
(7) 检查数据库状态是否正常
运行
$ gs_ctl query -D /home/gbase/gbase8c_pkg/data/single_node
结果如下则数据库状态正常
[2022-08-19 15:07:43.542][27035][][gs_ctl]: gs_ctl query ,datadir is /home/gbase/gbase8c_pkg/data/single_node
HA state:
local_role : Normal
static_connections : 0
db_state : Normal
detail_information : Normal
Senders info:
No information
Receiver info:
No information
(8) 检查数据库运行状态
执行
$ gs_ctl status -D /home/gbase/gbase8c_pkg/data/single_node
结果如下,说明数据库启动中
[2022-08-19 15:13:33.557][27121][][gs_ctl]: gs_ctl status,datadir is /home/gbase/gbase8c_pkg/data/single_node
gs_ctl: server is running (PID: 26586)
四、数据库启停
停止数据库服务
$ gs_ctl stop -D /home/gbase/gbase8c_pkg/data/single_node
启动数据库服务
$ gs_ctl start -D /home/gbase/gbase8c_pkg/data/single_node
五、卸载
8c 单机版数据库无其他依赖服务,停止运行后即可删除文件。
六、连接和 SQL 测试
执行
$ gsql -d postgres -p 5432
出现 postgres=# 操作符说明客户端工具 gsql 成功连接 8c 数据库
postgres=# create database testdb;
CREATE DATABASE
postgres=# create table student(ID int, Name varchar(10));
CREATE TABLE
postgres=# insert into student values(1, 'Mike'),(2,'John');
INSERT 0 2
postgres=# select * from student;
id | name
----±-----
1 | Mike
2 | John
(2 rows)