# 创建系统用户
groupadd -g 1008 dbgrp
useradd -u 1008 omm -g dbgrp
echo "Test@123"|passwd omm --stdin
# 修改字符集参数
cat >>/etc/profile<<EOF
export LANG=en_US.UTF-8
EOF
source /etc/profile
# 关闭防火墙并禁止开机重启
systemctl disable firewalld.service
systemctl stop firewalld.service
# 关闭THP透明大页
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
# 安装lib等依赖包,建议配置yum源
yum install -y libaio*
yum install -y libaio-devel readline-devel bison flex zlib-devel ncurses-devel patch wget python3
# 修改python版本,服务器需要用到 python3.x 命令
python -V
python3 -V
cd /usr/bin
mv python python.bak
ln -s python3 /usr/bin/python
python -V
数据库软件安装包获取:https://opengauss.org/zh/download/
# 创建安装包目录
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
cd /opt/software/openGauss
# 创建xml文件:XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等
vi clusterconfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CLUSTER>
<!-- 数据库名称,value值可自定义 -->
<PARAM name="clusterName" value="dbCluster" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="dba" />
<!-- 节点IP,与数据库节点名称列表一一对应 -->
<PARAM name="backIp1s" value="192.168.56.101"/>
<!-- 数据库安装目录 -->
<PARAM name="gaussdbAppPath" value="/home/omm/app" />
<!-- 日志目录 -->
<PARAM name="gaussdbLogPath" value="/home/omm/log" />
<!-- 数据库工具目录 -->
<PARAM name="gaussdbToolPath" value="/home/omm/omm" />
<!-- 数据库core文件目录 -->
<PARAM name="corePath" value="/home/omm/corefile"/>
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<DEVICE sn="1000001">
<!-- 节点的主机名称 -->
<PARAM name="name" value="dba"/>
<PARAM name="azName" value="AZ2"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.56.101"/>
<PARAM name="sshIp1" value="192.168.56.101"/>
<!-- dbnode 配置端口号和实例数据目录 -->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="26000"/>
<PARAM name="dataNode1" value="/home/omm/data"/>
</DEVICE>
</DEVICELIST>
</ROOT>
# 为确保openssl版本正确,在文件的底部添加如下代码,加载安装包中lib库
vi /etc/profile
export packagePath=/opt/software/openGauss
export LD_LIBRARY_PATH=$packagePath/script/gspylib/clib:$LD_LIBRARY_PATH
source /etc/profile
# 解压安装包,再解压
tar -zxvf openGauss-3.1.0-CentOS-64bit-all.tar.gz
tar -zxvf openGauss-3.1.0-CentOS-64bit-om.tar.gz
# 安装包解压后,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本
cd /opt/software/openGauss/script/
# 集群的环境配置,以保证集群安装的正常进行
python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
# 报错:配置文件改成机器hostname
[GAUSS-51620] : Failed to obtain local instance information. It is not a host name dbsql.
# 赋权以便omm用户可以使用脚本
chmod -R 755 /opt/software/openGauss/script/
# 切换用户omm,进入脚本目录
su - omm
cd /opt/software/openGauss/script
# 开始安装,安装成功数据库会启动
gs_install -X /opt/software/openGauss/clusterconfig.xml
安装过程会提示输入数据库的密码,设置的密码要符合复杂度要求:
# 查看集群状态
gs_om -t status --detail
# 查看端口号配置信息
cat /home/omm/data/postgresql.conf | grep port
# 连接默认数据库postgres
gsql -r -d postgres -p 26000
# omm用户是管理员用户,因此系统显示“DBNAME=#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=>”
-- 版权信息
\copyright
-- 查看数据库的版本、pg基础版本
select version();
show server_version;
-- 退出数据库
\q