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
- 删除系统自带的yum源
-
安装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
- 停止firewall
- 关闭SELINUX
- 使用VIM打开SELINUX的config文件
vim /etc/selinux/config
- 修改SELINUX的值,然后保存退出
SELINUX=enforcing 修改为 ELINUX=disabled
- 重启centos
reboot
- 使用VIM打开SELINUX的config文件
- 关闭firewall
-
关闭内存交换
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
- 使用vim打开rc.local
-
修改主机名
- 设置主机名
hostnamectl set-hostname --static 主机名
- 添加主机映射关系
- 使用vim打开hosts
vim /etc/hosts
- 在文件中最后添加centos的ip和主机名
ip 主机名
- 使用vim打开hosts
- 设置主机名
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/software/openGauss chmod 755 -R /opt/soft chown -R omm:dbgroup /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
- 配置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>
- 将配置文件从下载包中复制到openGauss目录下
- 设置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=集群名称
- 使用vim打开.bashrc
- 执行交互式初始化
-
切换为omm用户
su omm
-
进入到/opt/soft/openGauss/script/目录下
-
预安装
python3 gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config_template.xml
注意:当输出最后是以下内容时表示 预安装成功
Successfully set finish flag.
Preinstallation succeeded. -
真正安装
-
执行安装命令
./gs_install -X /opt/software/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
接下来我会在虚拟机测试进行openEuler操作系统进行安装部署openGauss,不知道结果会怎么样,完成再写一篇文共享给大家,有兴趣的铁汁可以期待一波,不一定能成功!!