麒麟V10部署openGauss

2024-08-07 12:43:01 浏览数 (1)

安装依赖

代码语言:javascript复制
yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel expect

创建用户和用户组

代码语言:javascript复制
groupadd dbgrp
useradd -g dbgrp omm
passwd omm

使用 omm 用户登录服务器,解压 openGauss

代码语言:javascript复制
mkdir /opt/software/openGauss /opt/huawei -p

cd /opt/software/openGauss/

tar xf openGauss-3.1.1-openEuler-64bit-all.tar.gz

tar xf openGauss-3.1.1-openEuler-64bit-om.tar.gz

chmod -R 775 /opt/software

chown -R omm.dbgrp /opt/huawei

chown -R omm.dbgrp /opt/software

配置

代码语言:javascript复制
# 单节点配置文件

vim /opt/software/openGauss/script/gspylib/etc/conf/cluster_config_template.xml

<?xml version="1.0" encoding="utf-8"?>
<ROOT>
  <CLUSTER>
    <PARAM name="clusterName" value="Cluster_template" />			# 数据库名称
    <PARAM name="nodeNames" value="node01"/>					# 数据库节点名称
    <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" />		# 数据库工具目录
    <PARAM name="corePath" value="/opt/huawei/corefile"/>			# 数据库 core 文件目录
    <PARAM name="backIp1s" value="192.168.0.180"/>				# 节点IP,与数据库节点名称列表一一对应
  </CLUSTER>

# 每台服务器上的节点部署信息
  <DEVICELIST>
    <DEVICE sn="node01"> 					# 节点1上的部署信息
      <PARAM name="name" value="node01"/>			# 节点1的主机名称
      <PARAM name="azName" value="AZ1"/>			# 节点1所在的AZ及AZ优先级
      <PARAM name="azPriority" value="1"/>
      <PARAM name="backIp1" value="192.168.0.180"/>		# 节点1的IP,如果服务器只有一个网卡,把 backIp1 和 sshIp1 配置成同一个IP
      <PARAM name="sshIp1" value="192.168.0.180"/>
      
      <!-- dn -->
      <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>
代码语言:javascript复制
# 一主一备配置文件

vim /opt/software/openGauss/script/gspylib/etc/conf/cluster_config_template.xml

<?xml version="1.0" encoding="utf-8"?>
<ROOT>
  <CLUSTER>
    <PARAM name="clusterName" value="Cluster_template" />			# 数据库名称
    <PARAM name="nodeNames" value="node01,node02"/>				# 数据库节点名称
    <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" />		# 数据库工具目录
    <PARAM name="corePath" value="/opt/huawei/corefile"/>			# 数据库 core 文件目录
    <PARAM name="backIp1s" value="192.168.0.180,192.168.0.190"/>		# 节点IP,与数据库节点名称列表一一对应
  </CLUSTER>

# 每台服务器上的节点部署信息
  <DEVICELIST>
    <DEVICE sn="node01"> 					# 节点1上的部署信息
      <PARAM name="name" value="node01"/>			# 节点1的主机名称
      <PARAM name="azName" value="AZ1"/>			# 节点1所在的AZ及AZ优先级
      <PARAM name="azPriority" value="1"/>
      <PARAM name="backIp1" value="192.168.0.180"/>		# 节点1的IP,如果服务器只有一个网卡,把 backIp1 和 sshIp1 配置成同一个IP
      <PARAM name="sshIp1" value="192.168.0.180"/>
      
      <!-- dn -->
      <PARAM name="dataNum" value="1"/>
      <PARAM name="dataPortBase" value="15400"/>
      <PARAM name="dataNode1" value="/opt/huawei/install/data/dn,node02,/opt/huawei/install/data/dn"/>
      <PARAM name="dataNode1_syncNum" value="0"/>
    </DEVICE>
    
    <DEVICE sn="node02"> 					# 节点2上的部署信息
      <PARAM name="name" value="node02"/>			# 节点2的主机名称
      <PARAM name="azName" value="AZ1"/>			# 节点2所在的AZ及AZ优先级
      <PARAM name="azPriority" value="1"/>
      <PARAM name="backIp1" value="192.168.0.190"/>		# 节点2的IP,如果服务器只有一个网卡,把 backIp1 和 sshIp1 配置成同一个IP
      <PARAM name="sshIp1" value="192.168.0.190"/>
    </DEVICE>

  </DEVICELIST>
</ROOT>

安装

代码语言:javascript复制
# 预安装,需要使用 root 用户
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/gspylib/etc/conf/cluster_config_template.xml

# 安装
su - omm
cd /opt/software/openGauss/script
gs_install -X /opt/software/openGauss/gspylib/etc/conf/cluster_config_template.xml

# 修改配置
vim /opt/huawei/install/data/dn/pg_hba.conf
	local   all             all                                     trust
	host    all             all             127.0.0.1/32            md5
	host    all             all             0.0.0.0/0               md5
	host    all             all             ::1/128                 md5
	
vim /opt/huawei/install/data/dn/postgresql.conf
	listen_addresses = '*' 
	local_bind_address = '0.0.0.0'
	password_encryption_type = 0

服务启停

代码语言:javascript复制
# 停止服务
gs_om -t stop

# 启动服务
gs_om -t start

# 查看服务状态
gs_om -t status

# 查看 openGauss 各实例状态
gs_om -t status --detail

# 查询某主机上的实例状态
gs_om -t status -h node02

主备节点切换

代码语言:javascript复制
# 当主备节点都正常时,以用户 omm 登录准备切换为主节点的备节点,执行如下命令:
gs_ctl switchover -D /opt/huawei/install/data/dn/

# 当主节点异常时,以用户 omm 登录准备切换为主节点的备节点,执行如下命令:
当主节点运行正常时,不要执行该切换命令,否则会导致两个节点都为主节点
gs_ctl failover -D /opt/huawei/install/data/dn/

# switchover 或 failover 切换成功后,执行如下命令保存数据库主备机器信息:
gs_om -t refreshconf

备份与还原

代码语言:javascript复制
# 数据导出
su - omm
gs_dump -U omm -W xxxx -f /data/backup/all.sql - p 15400 postgres -F p

# 一次导出 openGauss 所有数据库
gs_dumpall -f /data/backup/all.sql -p 15400

数据库相关的命令

代码语言:javascript复制
su - omm
gsql -d postgres -p 15400

# 列出所有可用的数据库
l

# 创建数据库用户,每次创建新用户时,系统会在当前登录的数据库中为新用户创建一个同名的 schema
create user 用户名 with password "密码";

# 删除数据库用户
drop user 用户名 cascade;

# 创建数据库,并指定所有者 owner
create database 数据库名 owner 用户名;

# 删除数据库
drop database 数据库名;

# 数据库重新命名
alter database 旧数据库名 rename to 新数据库名;

用户相关的命令

代码语言:javascript复制
# 查看数据库用户列表
openGauss=# select * from pg_user;

# 查看用户属性
openGauss=# select * from pg_authid;

# 查看所有角色
openGauss=# select * from pg_roles;

# 切换用户
openGauss=# c - USERNAME

# 给用户授权对某数据库的所有权限
grant all privileges on database 数据库名 to 用户名;

# 为用户所加有创建角色的 CREATEROLE 权限
alter user 用户名 createrole;

# 把 sysadmin 权限授权给用户 cj
grant all privileges to cj;

# 查看当前用户
select * from current_user;

# 查看当前数据库编码
show server_encoding;

密码相关的命令

代码语言:javascript复制
# 修改 omm 管理员密码
alter role omm identified by '新密码' replace '旧密码';

0 人点赞