一、前言
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、本文参考
- 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