Ken的杂谈
  • Ken的杂谈 (current)
  • 关于
  • 杂谈
    Java Spring Spring Boot Spring Cloud MyBatis C# .NET Core .NET ASP.NET Core ASP.NET ClassLibrary Mono 数据库 MySQL SQL Server 网络 缓存 Web Linux CentOS Ubuntu macOS Windows openEuler Nginx ServiceStack JS/JQ 正则 工具 IDE Grafana Exceptions CI/CD Solution 微服务 Arch Docker 杂谈
  • 系列
    Java 快速入门系列教程 Spring Boot 入门教程 Spring Boot 2.x 入门教程 Spring Cloud 入门教程 .NET Core 快速入门教程 ASP.NET Core 2.1 入门教程 CentOS 7 快速上手教程 Ubuntu快速上手入门教程 Hyper-V基础教程 Docker入门教程
  • GitHub

openGauss 3.x 安装与配置教程

数据库 @ 2023-01-18 19:12:12 · 阅读:(6333)

一、前言

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/
image.png
企业版需要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、本文参考

  • https://docs.opengauss.org/zh/docs/3.1.1-lite/docs/BriefTutorial/%E5%AE%89%E8%A3%85.html
  • https://docs.opengauss.org/zh/docs/3.1.1-lite/docs/BriefTutorial/gsql%E8%BF%9E%E6%8E%A5%E4%B8%8E%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95.html
  • https://docs.opengauss.org/zh/docs/3.1.1-lite/docs/Developerguide/%E9%85%8D%E7%BD%AE%E6%9C%8D%E5%8A%A1%E7%AB%AF%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5.html

Ken的杂谈

本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。

数据库

随笔目录


    © Copyright 2012-2025 Ken的杂谈

    豫ICP备10025012号

    ASP.NET Core(6.0) on Linux