zl程序教程

您现在的位置是:首页 >  其他

当前栏目

openGauss 3.x 安装与配置教程

安装配置教程 openGauss
2023-06-13 09:18:22 时间

一、前言

1、本文主要信息

  • openGauss 安装与配置
  • openGauss 管理常用命令/语法
  • openGauss 远程连接配置

2、环境信息

工具

本文环境

适用环境

服务器

CentOS 7(2C4G)

openEuler 20.03+、CentOS 7.X

openGauss

3.1.1 Lite

3.x

二、准备工作

1、创建用户

gaussdb需要在非root用户下运行

# 创建用户
useradd gaussdb

# 修改密码
passwd gaussdb

# 将用户加入sudoers
visudo

# 添加以下内容
gaussdb ALL=(ALL) ALL

2、设置kernel.sem

openGauss运行对Linux Kernel内核的信号量有要求这里需要设置一下

# 编辑系统配置文件
vi /etc/sysctl.conf

# 增加以下内容
kernel.sem = 250 32000 100 999

# 使配置生效
sysctl -p

3、安装基础依赖

yum install -y wget tar flex bison ncurses-devel glibc-devel patch readline-devel libnsl libaio-devel

4、创建下载&根目录

# 创建下载目录
mkdir /home/downloads

# 创建openGauss根目录
mkdir /gaussdb

# 授予权限
chmod 777 /home/downloads
chown gaussdb:gaussdb /gaussdb

三、安装openGauss

1、切换用户

# 切换用户
su gaussdb

2、准备openGauss安装包

openGauss提供了4个版本:企业版、极简版、轻量版,分布式镜像,官方地址:https://www.opengauss.org/zh/download/

企业版需要8C32G的硬件,轻量版2C4G甚至2C2G都可以,所以这里选择轻量版openGauss Lite 未登录状态下,官网不提供下载链接,注册登录后,根据部署环境复制对应的安装包下载链接即可

# 进入下载目录
cd /home/downloads

# 下载openGauss轻量版(CentOS)
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.1/x86/openGauss-Lite-3.1.1-CentOS-x86_64.tar.gz -O openGauss-Lite-3.1.1.tar.gz

# 下载openGauss轻量版(openEuler)
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.1/x86_openEuler/openGauss-Lite-3.1.1-openEuler-x86_64.tar.gz -O openGauss-Lite-3.1.1.tar.gz

# 解压至openGauss根目录
tar -zxf openGauss-Lite-3.1.1.tar.gz -C /gaussdb/

3、openGauss单节点模式安装

#进入目录
cd /gaussdb

# 单节点安装
echo pwd@2023 | sh ./install.sh --mode single -D /gaussdb/data -R /gaussdb/install  --start

# 查看gaussdb进程
ps ux | grep gaussdb

# 输出示例
gaussdb     1890  0.0  0.2  22960  4228 pts/0    S    16:11   0:00 bash
gaussdb     2511  1.3 12.6 2200356 190048 ?      Ssl  16:26   0:00 /gaussdb/install/bin/gaussdb -D /gaussdb/data
gaussdb     2583  0.0  0.3  26152  4844 pts/0    R+   16:27   0:00 ps ux
gaussdb     2584  0.0  0.1  21980  2428 pts/0    S+   16:27   0:00 grep --color=auto gaussdb

# 查看gaussdb状态
gs_ctl query -D /gaussdb/data

四、openGauss 常用命令

1、使用openGauss gsql

openGauss提供了在命令行下运行的数据库连接工具gsql,我们可以通过gsql命令行执行内部命令管理数据库,也可以执行SQL,做用户管理增删改查等操作 进入openGauss Shell需要gsql命令并通过-d参数指定数据库,这里指定openGauss默认创建的postgres数据库即可

# 进入命令行
gsql -d postgres

# 完整命令参考
gsql -h 127.0.0.1 -p 5432 -U opengauss -d postgres

2、常用gsql内部命令

# 查看所有数据库
\l

# 查看所有用户
\du

# 切换当前数据库
\c {database}

# 查看当前数据库所有表
\dt

# 查看指定表信息
\dt {table}

# 退出gsql命令行
\q

3、常用SQL管理命令

# 创建数据库
CREATE DATABASE test;

# 创建表(记得使用\c命令切换数据库)
CREATE TABLE t1(id int,body varchar(100));

# 创建用户
CREATE USER gauss PASSWORD 'Test#1357';

# 指定用户添加指定角色
ALTER USER gauss SYSADMIN;

# 修改密码
ALTER ROLE gauss PASSWORD 'Test#2468';

# 赋予指定账户指定数据库所有权限
GRANT ALL PRIVILEGES ON DATABASE test TO gauss;

# 移除指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE test TO gauss;

五、openGauss远程连接配置

1、查看端口使用

3.X Lite版本单机模式部署,默认是使用的端口是5432、5433

# 查看gaussdb端口使用
netstat -tunlp | grep gaussdb

# 输出示例
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      2511/gaussdb        
tcp        0      0 127.0.0.1:5433          0.0.0.0:*               LISTEN      2511/gaussdb        
tcp6       0      0 ::1:5432                :::*                    LISTEN      2511/gaussdb        
tcp6       0      0 ::1:5433                :::*                    LISTEN      2511/gaussdb

2、开放端口

给openGauss开放5432端口,开放端口供后续远程连接使用

# 添加端口
sudo firewall-cmd --add-port=5432/tcp --permanent

# 重载规则
sudo firewall-cmd --reload

3、配置openGauss客户端连接

Open默认不允许远端连接,为了方便测试,这里配置允许任意用户通过任意客户端访问任意数据库,加密方式为:sha256(openGauss)默认加密方式

#修改配置文件
vi /gaussdb/data/pg_hba.conf 

#增加以下配置
#第一个all表示所有数据库,可以用具体数据库名称替代
#第二个all表示所有用户,可以用具体用户名替代
#0.0.0.0/0 表示任意客户端,可以用具体ip替代,例如:192.168.1.100/32
#sha25是openGauss默认加密方式
host all all 0.0.0.0/0 sha256

4、配置openGauss监听

openGauss默认只绑定了127.0.0.1,不支持远程访问,这里需要修改配置

# 修改配置文件
vi /gaussdb/data/postgresql.conf

# 增加以下配置
listen_addresses = '0.0.0.0'

# 重启服务
gs_ctl restart -D /gaussdb/data

# 查看监听情况
netstat -tunlp | grep gaussdb

# 输出示例
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      3766/gaussdb        
tcp        0      0 0.0.0.0:5433            0.0.0.0:*               LISTEN      3766/gaussdb

5、连接测试

我们可以通过gsql命令指定host进行远程连接测试

#使用gsql命令指定本机IP进行连接测试
gsql -h 192.168.66.21 -p 5432 -U gauss -d test

也可以通过官方提供的Data Studio远程连接,并管理openGauss数据库,另外目前比较流程的DBeaver、Navicat等是不支持以sha256方式连接openGauss的,需要修改openGauss的加密方式,不然连接会报错

Invalid or unsupported by client SCRAM mechanisms

六、备注

1、openGauss常用命令

# 启动服务
gs_ctl start -D /gaussdb/data

# 停用服务
gs_ctl stop -D /gaussdb/data

# 重启服务
gs_ctl restart -D /gaussdb/data

2、本文参考