麒麟V10 部署 openGauss
温馨提醒
安装依赖
1yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel expect bzip2 lbzip2创建用户和用户组
使用 omm 用户登录服务器,解压 openGauss
配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35# 单节点配置文件 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>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43# 一主一备配置文件 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>安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19# 预安装,需要使用 root 用户 /opt/software/openGauss/script/gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/script/gspylib/etc/conf/cluster_config_template.xml # 安装 su - omm /opt/software/openGauss/script/gs_install -X /opt/software/openGauss/script/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 = 1 # 使用 md5 和 sha256,否则不能登录 password_policy=1 # 去掉密码复杂度验证策略1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16# 如果预安装没通过,执行下面的命令,输出详细信息 /opt/software/openGauss/script/gs_checkos -i A -h mysql-20-62-test-shenzhen-office --detail A14.[ THP service status ] : Abnormal cat >> /etc/rc.d/rc.local <<"EOF" if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi EOF chmod +x /etc/rc.d/rc.local 重启系统服务启停
主备节点切换
1 2 3 4 5 6 7 8 9# 当主备节点都正常时,以用户 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备份与还原
数据库相关的命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23su - 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 新数据库名; # 查看权限 /du用户相关的命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33# 查看数据库用户列表 openGauss=# select * from pg_user; # 查看用户属性 openGauss=# select * from pg_authid; # 查看所有角色 openGauss=# select * from pg_roles; # 切换用户 openGauss=# c - USERNAME # 创建用户 create user 用户名 with password '密码' sysadmin; grant all privileges to 用户名; # 给用户授权对某数据库的所有权限 grant all privileges on database 数据库名 to 用户名; # 为用户添加有创建角色的 CREATEROLE 权限 alter user 用户名 createrole; # 把 sysadmin 权限授权给用户 cj grant all privileges to cj; # 查看当前用户 select * from current_user; # 查看当前数据库编码 show server_encoding; # 把用户 zhjr 提升为超级管理员权限 ALTER USER zhjr SYSADMIN;密码相关的命令