openGauss

开源数据库

openGauss社区官网

开源社区

shell
title: '企业版单机据库安装'
date: '2024-3-7'
category: 'blog'
tags: ['企业版单机据库安装']
archives: '2024-3-7'
author: 'xiaqi'
summary: '单机版openGauss数据库'
times: '19:30'

企业版单机据库安装

1.系统配置

shell
db_0120@hostname ~]$ uname -a
Linux hostname 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[db_0120@hostname ~]$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.解压安装包

shell
mkdir opengauss
#数据库dn路径
mkdir pkg 
#安装包路径
wget -c https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.5/x86/openGauss-3.0.5-CentOS-64bit-all.tar.gz
tar -zxvf openGauss_3.0.5_PACKAGES_RELEASE.tar.gz 
#然后再解压出来的如下文件
tar -zxvf openGauss-3.0.5-CentOS-64bit-om.tar.gz

3.创建数据库xml配置文件

shell
vi /data/db/xml/one_node.xml

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="opengauss_1207"/>
<PARAM name="nodeNames" value="hostname"/>
<PARAM name="backIp1s" value="ip"/>
<PARAM name="gaussdbAppPath" value="/data/db/opengauss/cluster/app"/>
<PARAM name="gaussdbLogPath" value="/data/db/opengauss/cluster/gaussdb_log" />
<PARAM name="tmpMppdbPath" value="/data/db/opengauss/cluster/tmp"/>
<PARAM name="gaussdbToolPath" value="/data/db/opengauss/cluster/tool"/>
<PARAM name="corePath" value="/home/core"/>
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<DEVICELIST>
<DEVICE sn="hostname">
<PARAM name="name" value="hostname"/>
<PARAM name="backIp1" value="ip"/>
<PARAM name="sshIp1" value="ip"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="12350"/>
<PARAM name="dataNode1" value="/data/db/opengauss/cluster/dn1"/>
</DEVICE>
</DEVICELIST>
</ROOT>
注意:配置xml配置文件里面的   dataPortBase(端口)需要确认是否占用
# 查看端口号是否备占用(查询自己使用的端口号)
netstat -anp|grep 12350 #查看占用端口的进程
fuser -v -n tcp 12350 #杀死占用端口的进程
kill -s 9 (进程号)

4.创建用户和用户组

shell
groupadd db_0120
useradd -g db_0120 -d /home/db_0120 -m -s /bin/bash db_0120 
echo ******|passwd --stdin db_0120

5.执行预安装(root)

shell
#根据第二步解压出来的文件,进入脚本目录
cd script
./gs_preinstall -U db_0120 -G db_0120 -X /data/db/xml/one_node.xml --sep-env- file=/home/db_0120/env

6.执行安装(创建的安装用户)

shell
su - db_0120
source /home/db_0120/env
gs_install -X /data/db/xml/one_node.xml

7.常用命令

shell
#om工具帮助信息gs_om  -?
gs_om  --help
#查看数据库状态
gs_om -t status --detail 
#启动数据库
gs_om -t stop 
#停止数据库 
gs_om -t start
#重启数据库
gs_om -t restart
#查看数据库版本
gs_om --version
gaussdb -V

8.显示当前登录用户

shell
su - db_0120 
[db_0120@hostname ~]$ gsql -d postgres -p 12350 -r
gsql ((openGauss 3.0.5 build b54d05de) compiled at 2023-09-23 09:26:03 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# \q
[db_0120@hostname ~]$ cd
[db_0120@hostname ~]$ cat >.gsqlrc <<EOF
> \set PROMPT1 '%n@%~%R%#'
> \pset border 2
> EOF
[db_0120@hostname ~]$ gsql -d postgres -p 12350 -r
Border style is 2.
gsql ((openGauss 3.0.5 build b54d05de) compiled at 2023-09-23 09:26:03 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

db_0120@postgres=# \q

9.连接数据库

shell
su - db_0120
source /home/db_0120/env 
#快速连接
gsql -p 12350 -d postgres -r 
#连接数据库:
gsql -h 主机名 -p 端口号 -U 用户名 -W 密码 -d 数据库名 -r

10.单节点数据库卸载

shell
su - db_0120
source /home/db_0120/env 
#执行卸载
gs_uninstall --delete-data
#后置操作
su - root
source /home/db_0120/env
#进入脚本目录cd script
gs_postuninstall -U db_0120 -X /data/db/xml/one_node.xml --delete-user --delete-group unset MPPDB_ENV_SEPARATE_PATH
#然后删除对于的数据文件夹
rm -rf /data/opengauss

11.数据库基本操作

shell
\l 
#数据库列表
\q 
#退出数据库
\du 
#查看所有用户
\d+ tablename 
#查看表的详细信息
\dn
#查看schema
--获取当前会话的pid 
select pg_backend_pid();
--已经安装的扩展 
select * from pg_extension;
--增加时长,避免数据库超时 
gs_guc reload -N all -I all -c "session_timeout = 86400s";