Gauss (openGauss轻量版)数据库安装配置

发布时间 2023-06-08 17:36:31作者: leolzi

1、修改操作系统配置

为了在防火墙开启的状态下,确保openGauss轻量版的正常使用。用户需要将轻量版相关的服务、协议、IP以及端口添加到主机的防火墙白名单中。

目前仅支持在防火墙关闭的状态下进行安装。

  1. 修改/etc/selinux/config文件中的“SELINUX“值为“disabled“。

    a. 使用VIM打开config文件。

    ""vim /etc/selinux/config
    

    b. 修改“SELINUX“的值“disabled“,执行**:wq**保存并退出修改。

    ""SELINUX=disabled
    
  2. 重新启动操作系统。

    ""reboot
    
  3. 检查防火墙是否关闭。

    ""systemctl status firewalld
    

    若防火墙状态显示为active (running),则表示防火墙未关闭,请执行4

    若防火墙状态显示为inactive (dead),则无需再关闭防火墙。

  4. 关闭防火墙。

    ""systemctl disable firewalld.service
    systemctl stop firewalld.service

2、创建gauss专用的用户组和用户

,已完成用户组和普通用户的创建。

  1. 使用普通用户登录到openGauss轻量版包安装的主机,解压轻量版安装包到安装目录。

    ""tar -zxf openGauss-Lite-3.0.0-openEuler-aarch64.tar.gz -C ~/openGauss
    
  2. 假定解压包的路径为/opt/software/openGauss,进入解压后目录。

    ""cd ~/openGauss
    
  3. 执行install.sh脚本安装openGauss轻量版安装包。

    ""单机:echo password | sh ./install.sh --mode single -D ~/openGauss/data -R ~/openGauss/install  --start
    主备:
        1、主节点:echo password | sh ./install.sh --mode primary -D ~/openGauss/data -R ~/openGauss/install  -C "replconninfo1='localhost=ip1 localport=port1 remotehost=ip2 remoteport=port2'" --start
        2、备节点:echo password | sh ./install.sh --mode standby -D ~/openGauss/data -R ~/openGauss/install  -C "replconninfo1='localhost=ip1 localport=port1 remotehost=ip2 remoteport=port2'" --start
  4. -D|–data-path:数据库数据路径, 不可和安装目录交叉,必须为空。
    -R|–app-path:数据库安装路径,不可和数据目录交叉。
    -l|–log-path:日志保存路径。
    -f|–guc-file:guc配置文件,批量进行guc参数设置,默认为安装脚本同级文件opengauss_lite.conf,可指定。
    -m|–mode:节点类型,默认single,支持primary(主节点),standby(备节点),single(单机)。
    -n|–nodename:实例名称,主节点默认master,备节点默认slave,单机默认single。
    -P|–gsinit-parameter:初始化参数,具体详见文档《工具与命令参考》中的“系统内部使用的工具 > gs_initdb”章节,出于安全考虑,不建议使用该接口传递密码。建议使用echo和pipe方式来传递密码,如果主备密码设置的不一致,最终会使用主节点设置的密码,同时密码长度为8-32位。
    -C|–dn_guc:数据库配置参数,具体详见文档《工具与命令参考》中的“服务端工具 > gs_guc”章节。
    –env-sep-file:分离环境变量文件,会将使用过程中需要的环境变量写到该文件中,默认为用户的bashrc文件,注意不要传递目录。
    –start:安装完成是否启动集群,默认不启动。
    –ulimit:是否进行最大文件数配置(配置数为1000000),默认不设置。
    –cert-path:ssl证书路径,传递了该参数,ssl会被设置为on,同时会把该路径下证书拷贝到数据目录。
    –ssl-client-ip:客户端ip,只有在–cert-path参数启用的时候生效,会把客户端ip添加到白名单里面。
    -h|–help:打印使用说明。
     注意:
    
    因为每一步都是可重入的,所以如果分离了环境变量,每一步执行脚本需要指定环境变量路径。
    
    主备节点保证IP类型一致,如果主节点使用IPV6,备节点也请使用IPV6。
    
    如果有多个备节点,需要在每一个节点上安装的时候传递所有节点的信息,注意区分本机和远端的信息。
    
    如果进行ulimit设置的时候,报错ulimit: open files: cannot modify limit: Operation not permitted,请使用root权限,在/etc/security/limits.conf中修改该用户可配文件数量的上限。
    
    如果安装异常终止,请检查安装目录和数据目录是否符合预期条件,必要情况下手动清理环境变量。
    
    安装主备环境的时候,如果replconninfo中采用的是sslmode=verify-ca,会出现备机连不上主机的现象,需要通过以下方式解决 ${GAUSSDATA}代表dn数据目录 示例:sh install.sh -R ~/app -m primary -D ~/data -l ~/log –start -C “replconninfo1='localhost=xxx.xx.xx.x localport=xxxx remotehost=xxx.xx.xx.x remoteport=xxxx sslmode=verify-ca'"
    
    操作步骤
    
    准备证书、私钥。有关生成证书操作,请参考《数据库管理指南》中的“管理数据库安全 > SSL证书管理 > 证书生成”章节。 服务端各个配置文件名称约定:
    证书名称约定:server.crt。
    私钥名称约定:server.key。
    私钥密码加密文件约定:server.key.cipher、server.key.rand。 客户端各个配置文件名称约定:
    证书名称约定:client.crt。
    私钥名称约定:client.key。
    私钥密码加密文件约定:client.key.cipher、client.key.rand。
    根证书名称约定:cacert.pem。
    吊销证书列表文件名称约定:sslcrl-file.crl。
    拷贝证书到各个节点的数据目录。
    将服务端各个配置文件server.crt、server.key、server.key.cipher、server.key.rand拷贝到对应目录下。
    将客户端各个配置文件client.crt、client.key、client.key.cipher、client.key.rand、cacert.pem(如果需要配置吊销证书列表,则列表中包含sslcrl-file.crl)拷贝到到对应目录下。
    加密用户密码 (可选,如果证书已经生成了私钥可跳过)
    主节点: gs_guc encrypt -M server -K 数据库密码 -D ${GAUSSDATA}/
    备节点: gs_guc encrypt -M client -K 数据库密码 -D ${GAUSSDATA}/ 其中${GAUSSDATA}为数据目录
    配置ssl
    ""
    gs_guc set -D ${GAUSSDATA} -c "ssl=on" 
    gs_guc set -D ${GAUSSDATA} -c "ssl_ciphers = 'ALL'" 
    gs_guc set -D ${GAUSSDATA} -c "ssl_cert_file = 'server.crt'" 
    gs_guc set -D ${GAUSSDATA} -c "ssl_key_file = 'server.key'" 
    gs_guc set -D ${GAUSSDATA} -c "ssl_ca_file = 'cacert.pem'" 
    备节点导出如下环境变量(文件权限不能大于600)
    ""
    export PGSSLCERT="${GAUSSDATA}/client.crt"
    export PGSSLKEY="${GAUSSDATA}/client.key"
    export PGSSLROOTCERT="${GAUSSDATA}/cacert.pem"
    依次重启主备openGauss。
    ""
    gs_ctl restart -D ${GAUSSDATA} 

    5、安装执行完成后,使用ps和gs_ctl查看进程是否正常。

    ""ps ux | grep gaussdb
    gs_ctl query -D /opt/data

3、登录gauss

gsql -d postgres -p 5432

查看数据目录:

show data_directory ; #查看数据目录位置

4、配置可以远程登录

vi /opt/huawei/install/data/dn01/pg_hba.conf
# IPv6 local connections:
上面添加
host all all 0.0.0.0/0 sha256

vi /opt/huawei/install/data/dn01/postgresql.conf

#listen_addresses 远程客户端连接使用的数据库主节点ip或者主机名,这个必须设置为具体ip或者 * ,不然其他机器没法连接,相当于监听

重启gauss:
gs_ctl start -D /opt/software/openGauss/data/single_node
gs_ctl stop -D /opt/software/openGauss/data/single_node

登录gauss创建专门用户用来远程登录:

gsql -d postgres -p 5432

CREATE USER ucdc PASSWORD 'ucdc@456'; 

 

5、dbeaver登录gauss

将jdbc驱动添加到DBeaver的驱动管理中。 打开DBeaver,单击“数据库”,单击“驱动管理器”,单击“新建”,如下界面。 

 org.postgresql.Driver     jdbc:postgresql://{host}:{port}/[{database}]

下载专用的连接包:

 

 

 

用用户ucdc  登录