本文章是在CentOS7虚拟机上安装openGauss企业版数据库流程
1.下载安装包:
https://opengauss.org/zh/download/
openGauss-5.0.1-CentOS-64bit-all.tar.gz
2.安装python3.6.9
见我的另一篇文章
CentOS7安装Python3-CSDN博客
3.检查工具依赖:
分别检查以下工具是否安装:
bzip2 libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel net-tools
检查方法:
执行命令:rpm -q 工具名称,例如:执行命令:rpm -q bzip2
如果已经安装了指定的工具,则返回工具对应的版本;如果没有安装指定的工具,则返回:package xx工具 is not installed
4.安装bzip2工具(CentOS7上没有安装这个工具)
先检查是否已经安装了bzip2
执行命令:rpm -q bzip2
如果bzip2已安装,该命令将输出版本信息。如果未安装,它将输出“package bzip2 is not installed”。
如果没有安装bzip2,则需要先安装该工具
执行命令:sudo yum install bzip2
以下命令需要root用户执行
5.关闭防火墙
- 修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。
- vim /etc/selinux/config
- 修改“SELINUX”的值“disabled”,执行:wq保存并退出修改。
- 重启:reboot
- 检查防火墙是否关闭:systemctl status firewalld,若防火墙状态显示为active (running),则表示防火墙未关闭;若防火墙状态显示为inactive (dead),则无需再关闭防火墙
- 关闭防火墙并禁止开机重启:
- systemctl disable firewalld.service
- systemctl stop firewalld.service
6.设置字符集参数
- 将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加“export LANG=XXX”(XXX为Unicode编码),我们设置为:export LANG=zh_CN.UTF-8
- vim /etc/profile
7.设置时区(官方文档要求设置时区),本文档不设置
8.关闭swap交换内存(官方文档这个步骤是可选的),本文档执行该步骤
- 关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。
- 在各数据库节点上,使用swapoff -a命令将交换内存关闭。
- swapoff -a
9.设置网卡MTU值
- 执行如下命令查询服务器的网卡名称
- 执行命令:ifconfig
- 使用如下命令将各数据库节点的网卡MTU值设置为相同大小。MTU值推荐8192,要求不小于1500。
- 执行命令:ifconfig 网卡编号 mtu 值
10.关闭HISTORY记录
- 为避免指令历史记录安全隐患,需关闭各主机的history指令。
- 修改根目录下/etc/profile文件
- 执行命令:vim /etc/profile
- 设置HISTSIZE值为0。例如,系统中HISTSIZE默认值为1000,将其修改为0。
- 保存/etc/profile
- 执行命令::wq
- 设置/etc/profile生效。
- 执行命令:source /etc/profile
11.设置root用户远程登录
- 在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。
- 修改PermitRootLogin配置,允许用户远程登录
- 打开sshd_config文件
- 执行命令:vim /etc/ssh/sshd_config
- 修改权限配置,可以使用以下两种方式实现
- 注释掉“PermitRootLogin no”。:#PermitRootLogin no
- 将“PermitRootLogin”改为“yes”:PermitRootLogin yes
- 修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行
- 编辑sshd_config文件
- vim /etc/ssh/sshd_config
- 修改Banner配置,注释掉“Banner”所在的行:#Banner XXXX
- 执行**:wq**保存并退出编辑页面
- 使用如下命令使设置生效
- systemctl restart sshd.service
- 以root用户身份重新登录。执行:ssh xxx.xxx.xxx.xxx
- xxx.xxx.xxx.xxx为安装openGauss环境的IP地址。
12.安装用户及用户组
- 创建用户组
- 执行命令:groupadd dbgrp
- 创建用户
- 执行命令:useradd -g dbgrp omm
- 设置密码:sudo passwd omm,输入该命令后,会让你输入密码
13.初始化安装环境
- 以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录
- 执行命令:
- mkdir -p /opt/software/openGauss
- chmod 755 -R /opt/software
- 将安装包“openGauss-5.0.1-CentOS-64bit-all.tar.gz”和配置文件“cluster_config.xml”都上传至上一步所创建的目录中
14.创建XML配置文件
文件名称:cluster_config.xml
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="dbCluster" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="localhost.localdomain" />
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" />
<!-- 数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<!-- 数据库core文件目录-->
<PARAM name="corePath" value="/opt/huawei/corefile" />
<!-- 节点IP,与数据库节点名称列表一一对应 -->
<PARAM name="backIp1s" value="192.168.153.128"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的部署信息 -->
<DEVICE sn="node1_hostname">
<!-- 节点1的主机名称 -->
<PARAM name="name" value="localhost.localdomain"/>
<!-- 节点1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.153.128"/>
<PARAM name="sshIp1" value="192.168.153.128"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
15.安装
- 在安装包所在的目录下,解压安装包openGauss-5.0.1-CentOS-64bit-all.tar.gz。安装包解压后,会有OM安装包和Server安装包。继续解压OM安装包,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本。
- 执行命令:
- cd /opt/software/openGauss
- tar -zxvf openGauss-5.0.1-CentOS-64bit-all.tar.gz
- tar -zxvf openGauss-5.0.1-CentOS-64bit-om.tar.gz
- 进入到工具脚本存放目录下
- 执行命令:cd /opt/software/openGauss/script
- 执行命令:./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml
- 为确保成功安装,检查hostname与/etc/hostname是否一致。预安装过程中,会对hostname进行检查。(本文章修改配置的hostname为:localhost.localdomain)
- 如果python3安装不对,这一步会执行报错
16.配置操作系统参数(忽略)
17.执行安装
- 登录到openGauss的主机,并切换到omm用户
- 执行命令:su - omm
- 使用gs_install安装openGauss
- 执行命令:gs_install -X /opt/software/openGauss/cluster_config.xml
- 在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度
- 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
- rm –rf ~/.ssh(如果没有建立root用户和openGauss用户相互信任,这一步可以不执行)
18.验证安装
- 以omm用户身份登录服务器
- 执行如下命令检查数据库状态是否正常,“cluster_state ”显示“Normal”表示数据库可正常使用
- 执行命令:gs_om -t status
- 数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。其中postgres为需要连接的数据库名称,15400为数据库主节点的端口号,即XML配置文件中的dataPortBase的值。请根据实际情况替换
- 执行命令格式:gsql -d postgres -p 15400
- 连接成功后,系统显示类似如下信息表示数据库连接成功。
- gsql ((openGauss x.x.x build 290d125f) compiled at 2021-03-08 02:59:43 commit 2143 last mr 131 Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help.
19.初始化数据库
- 使用SQL创建新的数据库
- 使用SQL语句创建数据库时,指定数据库的字符集为GBK
- CREATE DATABASE mydb1 WITH ENCODING 'GBK' template = template0;
- 上面mydb1是创建的数据库名称
20.openGauss数据库的启动、连接和退出
- 启动数据库,执行命令:gs_om -t start
- 退出openGauss数据库连接,执行命令:\q
至此,安装完成