openGauss本地Centos7.6单机安装和简单应用
- openGauss基础环境配置
- openGauss安装
- openGauss使用测试
- openGauss常用命令
openGauss基础环境配置
- 在VMware Workstation中安装一台 centos7.6
- 内存:8GB,亲测4GB安装不够
- 磁盘:测试50GB-100GB够用
- 非必须,记得配置网卡 vim /etc/sysconfig/network-script/ifcfg-ens33
可以直接配置静态IP,根据个人习惯 - 非必须,ifconfig要能使用,不能使用的可以按照下面操作
yum install -y net-tools.x86_64- 查看centos的版本
cat /etc/redhat-release- 非必须:如果后面下载速度非常慢的话,可更换yum源为aliyun,速度快则不用在意这一步
- 删除系统自带的yum源
rm -rf /etc/yum.repo.d/*- 下载新的yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo- 生成仓库缓存
yum makecache- 安装openGauss需要的依赖包
yum -y install libaio-devel flex bison ncurses-devel glibc-devel lsb_release所需软件 | 建议版本 |
libaio-devel | 建议版本:0.3.109-13 |
flex | 要求版本:2.5.31 以上 |
bison | 建议版本:2.7-4 |
ncurses-devel | 建议版本:5.9-13.20130511 |
glibc-devel | 建议版本:2.17-111 |
patch | 建议版本:2.7.1-10 |
redhat-lsb-core | 建议版本:4.1 |
readline-devel | 建议版本:7.0-13 |
libnsl(openEuler+x86环境中) | 建议版本:2.28-36 |
- 安装python 3.6
#安装python 3.6
yum install -y python
#查看python版本
python -V- 关闭防火墙firewall和SELINUX
- 关闭firewall
- 停止firewall
systemctl stop firewalld.service- 关闭firewall开机自启
systemctl disable firewalld.service- 可以查看以下firewall的状态
systemctl status firewalld.service- 关闭SELINUX
- 使用VIM打开SELINUX的config文件
vim /etc/selinux/config- 修改SELINUX的值,然后保存退出
SELINUX=enforcing 修改为 ELINUX=disabled- 重启centos
reboot- 关闭内存交换
swapoff -a- 关闭透明大页
注: 透明大页是一种内存管理技术,它可以将多个物理页合并成一个大页,以提高内存访问效率。但是,透明大页可能会导致openGauss的性能下降和稳定性问题,因为openGauss使用的是自己的内存管理机制,与透明大页不兼容。关闭透明大页可以避免这些问题,提高openGauss的性能和稳定性。
- 使用vim打开rc.local
vim /etc/rc.d/rc.local- 在文件中添加
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- 修改主机名
- 设置主机名
hostnamectl set-hostname --static 主机名- 添加主机映射关系
- 使用vim打开hosts
vim /etc/hosts- 在文件中最后添加centos的ip和主机名
ip 主机名openGauss安装
- 获取openGauss安装包(本操作为3.0.0)
- 在开源官网选择需要的版本进行下载,在上传到centos7.6中:https://opengauss.org/zh/download/archive/
- 在后面的安装过程中使用wget在线下载
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86/openGauss-3.0.0-CentOS-64bit-all.tar.gz- openGauss详细安装步骤
- 创建用户组和用户
#1、创建用户组dbgroup:
groupadd dbgroup
#2、创建用户omm,并让他属于dbgroup用户组
useradd -g dbgroup /home/omm -m -s /bin/bash omm
#3、设置用户omm的登录密码
passwd omm
#回车输入密码: Gauss_1234 (自定义)- 创建一个目录soft并授权
mkdir -p /opt/soft/openGauss
chmod 755 -R /opt/soft
chown -R omm:dbgroup /opt/soft/openGauss- 在/opt/soft/openGauss/目录下,下载openGauss 3.0.0 安装包
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86/openGauss-3.0.0-CentOS-64bit-all.tar.gz- 解压压缩包
tar -zvxf openGauss-3.0.0-CentOS-64bit-all.tar.gz
tar -zvxf openGauss-3.0.0-CentOS-64bit-om.tar.gz- 配置openGauss的cluster_config_template.xml文件
- 将配置文件从下载包中复制到openGauss目录下
cp /opt/soft/openGauss/script/gspylib/etc/conf/cluster_config_templae.xml /opt/soft/openGauss/- 使用vim打开文件并修改主机名和主机iP,如果是单机,只保留一个节点的信息即可
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
<CLUSTER>
<!--集群名称可以修改也可以不改-->
<PARAM name="clusterName" value="Cluster_template" />
<!--主机名,如果是部署单机的,就只写一个-->
<PARAM name="nodeNames" value="node1_hostname,node2_hostname"/>
<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"/>
<!--主机ip,如果是部署单机的,就只写一个-->
<PARAM name="backIp1s" value="192.168.0.1,192.168.0.2"/>
</CLUSTER>
<DEVICELIST>
<!--集群节点名称,如果是单节点,只保留一个DEVICE即可-->
<DEVICE sn="node1_hostname">
<PARAM name="name" value="node1_hostname"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.0.1"/>
<PARAM name="sshIp1" value="192.168.0.1"/>
<!-- dn -->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn,node2_hostname,/opt/huawei/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
<!--需要就配置,不需要就删除-->
<DEVICE sn="node2_hostname">
<PARAM name="name" value="node2_hostname"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.0.2"/>
<PARAM name="sshIp1" value="192.168.0.2"/>
</DEVICE>
</DEVICELIST>
</ROOT>- 设置lib库,在根目录 **/root/**目录下的.bashrc文件中,该文件开机自动扫描
- 使用vim打开.bashrc
vim .bashrc- 添加如下内容,记得修改openGauss集群名称
export GPHOME=/opt/huawei/install/om
export PATH=$GPHOME/script/gspylib/pssh/bin:$GPHOME/script:$PATH
export LD_LIBRARY_PATH=$GPHOME/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$GPHOME/lib
export GAUSSHOME=/opt/huawei/install/app
export PATH=$GAUSSHOME/bin:$PATH
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export S3_CLIENT_CRT_FILE=$GAUSSHOME/lib/client.crt
# notice openGauss's version
export GAUSS_VERSION=3.0.0
export PGHOST=/opt/huawei/tmp
export GAUSSLOG=/opt/huawei/log/omm
umask 077
export GAUSS_ENV=2
export GS_CLUSTER_NAME=集群名称- 执行交互式初始化
- 切换为omm用户
su omm- 进入到/opt/soft/openGauss/script/目录下
- 预安装
python3 gs_preinstall -U omm -G dbgroup -X /opt/soft/openGauss/cluster_config_template.xml注意:当输出最后是以下内容时表示 预安装成功
Successfully set finish flag.
Preinstallation succeeded.
- 真正安装
- 执行安装命令
./gs_install -X /opt/soft/openGauss/cluster_config_template.xml- 输入密码:最少8个字符,需包含大小写字母、数字、字符
该密码为后期连接openGauss时使用的密码勿忘 - 安装成功:最后输出如下,很可能会因为内存不够而报错,一定要注意看报错日志。
Successfully started cluster.
Successfully installed application.
end deploy.
- 接下来进行openGauss简单应用测试
openGauss使用测试
- openGauss服务启/停
#分布式
gs_om -t start #启动服务
gs-om -t restart #重启服务
#集中式
gs_om -t stop #关闭服务
gs-om -t restart #启动服务- 查看openGauss数据库状态
gs_om -t status --detail- 检查性能
gs_checkperf
gs_checkperf -i pmk -U omm
gs_checkperf -i pmk -U omm --detail- 查看数据库端口号
cat /opt/huawei/install/data/dn/postgresql.conf | grep port- 以omm远程连接上centos7.6,登录openGauss
gsql -d postgres -p 15400 #在cluster_config_templae.conf中设置的连接端口- 应用
- 创建/删除 用户
create user 用户名 with passwd "密码"; #新用户
drop user 用户名 cascade; #删除前需确保该用户下没有任何资源- 创建/删除 数据库
create database 库名 owner 用户名; #创建数据库,不指定owner默认omm
drop database 库名; #删除数据库- 创建/删除 表
create table stu(id int,name varchar(10),gender varchar(10),age int);
drop table stu;- 修改表结构-(新增一列)
alter table stu add hobby varchar(20);- 查询数据
select * from stu;- 新增数据
insert into stu values(1001,'ethan','male',24,'play basketball');- 更新数据
update stu set hobby='play football' where id=1001;- 删除数据
delete from stu where id=1001;openGauss常用命令
- 退出数据库
Postgres=# \q- 进入数据库可以直接用help获取帮助信息
版权信息
Postgres=# \copyright- 查看数据库对象
查看帮助信息
postgres=# \?- 切换数据库
postgres=# \c dbname- 列举数据库:
使用\l元命令查看数据库系统的数据库列表。
postgres=# \l- 使用如下命令通过系统表pg_database查询数据库列表。
postgres=# SELECT datname FROM pg_database;- 列举表:
postgres=# \dt- 列举所有表、视图和索引:
postgres=# \d+- 使用gsql的\d+命令查询表的属性
postgres=# \d+ tablename- 查看表结构:
postgres=# \d tablename- 列举schema:
postgres=# \dn- 查看索引:
postgres=# \di- 查询表空间:
使用gsql程序的元命令查询表空间。
postgres=# \db- 检查pg_tablespace系统表。如下命令可查到系统和用户定义的全部表空间。
postgres=# SELECT spcname FROM pg_tablespace;- 查看数据库用户列表:
postgres=# SELECT * FROM pg_user;- 要查看用户属性:
postgres=# SELECT * FROM pg_authid;
postgres=# SELECT * FROM PG_ROLES;- 其他操作
切换数据库:
postgres=# \c dbname- 切换用户:
postgres=# \c – username
















