openGauss本地Centos7.6单机安装和简单应用
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/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>
- 将配置文件从下载包中复制到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 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
接下来我会在虚拟机测试进行openEuler操作系统进行安装部署openGauss,不知道结果会怎么样,完成再写一篇文共享给大家,有兴趣的铁汁可以期待一波,不一定能成功!!
相关文章:

openGauss本地Centos7.6单机安装和简单应用
openGauss本地Centos7.6单机安装和简单应用 openGauss基础环境配置openGauss安装openGauss使用测试openGauss常用命令 openGauss基础环境配置 在VMware Workstation中安装一台 centos7.6 内存:8GB,亲测4GB安装不够 磁盘:测试50GB-100GB够用 …...
LeetCode--1 两数之和
文章目录 1 题目描述2 解题思路2.1 暴力破解2.2 使用 Map 1 题目描述 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不…...

Hafnium安全分区管理器和示例参考软件栈
安全之安全(security)博客目录导读 目录 一、安全分区管理器 1、术语 2、对旧平台的支持 二、示例参考软件栈 一、安全分区管理器 安全分区管理器的三种实现在TF-A代码库并存: 1.基于FF-A规范的S-EL2 SPMC(SPM Core),使能安全…...
Python解读市场趋势:LSTM 和 GRU 在预测 Google 股价方面的探索
我将向您展示如何使用 LSTM 和 GRU 预测股票价格。 导入库 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt import matplotlib.dates as mdates import plotly.express as pxfrom keras.preprocessing.sequence import Timese…...

vue源码分析(二)——vue的入口发生了什么
文章目录 前言(1)vue 项目构建的时候,通过package.json文件看到构建入口(2) 构建入口页面:导入同级模块config的getAllbuilds方法(3) 通过传入参数中的builds对象使用map获取&#x…...
系统架构师论文总结【持续更新】
系统架构师考试是对计算机从业人员,以考代评的重要考试,近几年一直在参加考试,屡战屡败,后又屡败屡战,记录总结论文相关的知识点,方便考前查看。 一、2010年论文 1)论软件的静态演化和动态演化…...

STM32-LCD中英文显示及应用
目录 字符编码 ASCII码(8位) 中文编码(16位) GB2312标准 GBK编码 GB18030标准(32位) Big5编码 Unicode字符集和编码 UTF-32(32位) UTF-16(16位/32位࿰…...

13.4web自动化测试(Selenium3+Java)
一.定义 用来做web自动化测试的框架. 二.特点 1.支持各种浏览器. 2.支持各种平台(操作系统). 3.支持各种编程语言. 4.有丰富的api. 三.工作原理 四.搭环境 1.对照Chrome浏览器版本号,下载ChromeDriver,配置环境变量,我直接把.exe文件放在了jdk安装路径的bin文件夹下了(j…...

P1966 [NOIP2013 提高组] 火柴排队
洛谷的一道原题,方法有很多,树状数组以及排序,对刚学树状数组的人来说用排序会比较好理解。 本题最重要的结论就是,要保证两个数组中相同位置的差最小,但是不一定两个数组中数值相同,所以只需要保证相同位…...

Linux文件I/O
下面的内容需要了解系统调用,可看下面的链接: 系统调用来龙去脉-CSDN博客 1.底层文件IO和标准IO 这里指的是操作系统提供的IO服务,不同于ANSI建立的标准IO。 底层IO和标准IO各自所使用的函数: 区别: 1.底层文件IO不…...

卡巴斯基2009杀毒软件
下载地址:https://user.qzone.qq.com/512526231/main https://user.qzone.qq.com/3503787372/main...

Docker 容器服务的注册、发现及Docker安全
目录 Docker容器服务的注册和发现 1、什么是服务注册与发现? 2、什么是consul consul的部署 1、环境准备 2、部署consul服务器 1)建立 Consul 服务 2)设置代理,在后台启动 consul 服务端 3)查看集群信息 4&a…...

UE5 Blueprint发送http请求
一、下载插件HttpBlueprint、Json Blueprint Utilities两个插件是互相依赖的,启用,重启项目 目前两个是Beta的状态,如果你使用的平台支持就可以使用,我们的项目因为需要取Header的值,所有没法使用这两个插件࿰…...

SpringBoot 分布式验证码登录方案
前言 为了防止验证系统被暴力破解,很多系统都增加了验证码效验,比较常见的就是图片二维码,业内比较安全的是短信验证码,当然还有一些拼图验证码,加入人工智能的二维码等等,我们今天的主题就是前后端分离的…...
vite.config.js文件配置代理设置VITE_APP_BASE_API
.env.development文件 ENV development # base api VITE_APP_BASE_API /dev-api.env.production文件 ENV production # base api VITE_APP_BASE_API /apidefine: {process.env: {VITE_APP_BASE_API: https://xxx.com}},server: {hmr: true, // vue3 vite配置热更新不用手动…...
优橙内推海南专场——5G网络优化(中高级)工程师
可加入就业QQ群:801549240 联系老师内推简历投递邮箱:hrictyc.com 内推公司1:南京华苏科技有限公司 内推公司2:南京欣网通信股份有限公司 内推公司3:广东华讯工程有限公司 南京华苏科技有限公司 南京华苏科技有…...
5083: 【递推】走方格
题目描述 在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。 现在有个人站在第 1 行第 1 列,要走到第 n 行第 m …...

多种方式计算当天与另一天的间隔天数 Java实现
这里不会记录纯原生写法,因为现在基本都是被工具类封装好的,所以会记录好用的工具类来简化开发,当然自己可以研究写一个年月日各自做减法的纯原生工具类。 踩坑处(System.currentTimeMillis) 这里指的是使用System.currentTimeMillis()方法。…...
Python基础学习004——for循环与字符串
""" 1.for循环基本语法 2.做指定次数的循环,range()函数 3.continue的使用 4.字符串的定义与使用:转义符,原生字符 5.获取字符串长度,字符串索引的使用 6.切片,翻转字符串 7.字符串的查找find 8.字符串的替换replace 9.字符串的拆分split 10.字符串的链接join &…...

【发展史】鼠标的发展史
最早可以追溯到1952年,皇家加拿大海军将5针保龄球放在能够侦测球面转动的硬件上,这个硬件再将信息转化成光标在屏幕上移动,用作军事计算机输入。这是我们能够追溯到的最早的依靠手部运动进行光标移动的输入设备。但当时这个东西不叫鼠标&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...

AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...