当前位置: 首页 > news >正文

openGauss本地Centos7.6单机安装和简单应用

openGauss本地Centos7.6单机安装和简单应用

  • openGauss基础环境配置
  • openGauss安装
  • openGauss使用测试
  • openGauss常用命令

openGauss基础环境配置

  1. 在VMware Workstation中安装一台 centos7.6

    1. 内存:8GB,亲测4GB安装不够

    2. 磁盘:测试50GB-100GB够用

    3. 非必须,记得配置网卡 vim /etc/sysconfig/network-script/ifcfg-ens33

      可以直接配置静态IP,根据个人习惯

    4. 非必须,ifconfig要能使用,不能使用的可以按照下面操作

      yum install -y net-tools.x86_64
      
  2. 查看centos的版本

    cat /etc/redhat-release
    
  3. 非必须:如果后面下载速度非常慢的话,可更换yum源为aliyun,速度快则不用在意这一步

    1. 删除系统自带的yum源
      rm -rf /etc/yum.repo.d/*
      
    2. 下载新的yum源
      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      
    3. 生成仓库缓存
      yum makecache  
      
  4. 安装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
  5. 安装python 3.6

    #安装python 3.6
    yum install -y python#查看python版本
    python -V
    
  6. 关闭防火墙firewall和SELINUX

    1. 关闭firewall
      1. 停止firewall
        systemctl stop firewalld.service
        
      2. 关闭firewall开机自启
        systemctl disable firewalld.service
        
      3. 可以查看以下firewall的状态
        systemctl status firewalld.service
        
    2. 关闭SELINUX
      1. 使用VIM打开SELINUX的config文件
        vim /etc/selinux/config
        
      2. 修改SELINUX的值,然后保存退出
        SELINUX=enforcing 修改为 ELINUX=disabled
        
      3. 重启centos
        reboot
        
  7. 关闭内存交换

    swapoff -a
    
  8. 关闭透明大页

    注: 透明大页是一种内存管理技术,它可以将多个物理页合并成一个大页,以提高内存访问效率。但是,透明大页可能会导致openGauss的性能下降和稳定性问题,因为openGauss使用的是自己的内存管理机制,与透明大页不兼容。关闭透明大页可以避免这些问题,提高openGauss的性能和稳定性。

    1. 使用vim打开rc.local
      vim /etc/rc.d/rc.local
      
    2. 在文件中添加
      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
      
  9. 修改主机名

    1. 设置主机名
      hostnamectl set-hostname --static 主机名
      
    2. 添加主机映射关系
      1. 使用vim打开hosts
        vim /etc/hosts
        
      2. 在文件中最后添加centos的ip和主机名
        ip 主机名
        

openGauss安装

  1. 获取openGauss安装包(本操作为3.0.0)
  2. 在开源官网选择需要的版本进行下载,在上传到centos7.6中:https://opengauss.org/zh/download/archive/
  3. 在后面的安装过程中使用wget在线下载
    wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/x86/openGauss-3.0.0-CentOS-64bit-all.tar.gz
    
  4. openGauss详细安装步骤
    1. 创建用户组和用户
      #1、创建用户组dbgroup:
      groupadd dbgroup
      #2、创建用户omm,并让他属于dbgroup用户组
      useradd -g dbgroup /home/omm -m -s /bin/bash omm
      #3、设置用户omm的登录密码
      passwd omm
      #回车输入密码: Gauss_1234 (自定义)
      
    2. 创建一个目录soft并授权
      mkdir -p /opt/soft/openGauss
      chmod 755 -R /opt/soft
      chown -R omm:dbgroup /opt/soft/openGauss
      
    3. 在/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
      
    4. 解压压缩包
      tar -zvxf openGauss-3.0.0-CentOS-64bit-all.tar.gz
      tar -zvxf openGauss-3.0.0-CentOS-64bit-om.tar.gz
      
    5. 配置openGauss的cluster_config_template.xml文件
      1. 将配置文件从下载包中复制到openGauss目录下
        cp /opt/soft/openGauss/script/gspylib/etc/conf/cluster_config_templae.xml /opt/soft/openGauss/
        
      2. 使用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>
        
    6. 设置lib库,在根目录 **/root/**目录下的.bashrc文件中,该文件开机自动扫描
      1. 使用vim打开.bashrc
        vim .bashrc
        
      2. 添加如下内容,记得修改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=集群名称
        
    7. 执行交互式初始化
      1. 切换为omm用户

        su omm
        
      2. 进入到/opt/soft/openGauss/script/目录下

      3. 预安装

        python3 gs_preinstall -U omm -G dbgroup -X /opt/soft/openGauss/cluster_config_template.xml 
        

        注意:当输出最后是以下内容时表示 预安装成功

        Successfully set finish flag.
        Preinstallation succeeded.

      4. 真正安装

        1. 执行安装命令

          ./gs_install -X /opt/soft/openGauss/cluster_config_template.xml
          
        2. 输入密码:最少8个字符,需包含大小写字母、数字、字符

          该密码为后期连接openGauss时使用的密码勿忘

        3. 安装成功:最后输出如下,很可能会因为内存不够而报错,一定要注意看报错日志。

          Successfully started cluster.
          Successfully installed application.
          end deploy.

        4. 接下来进行openGauss简单应用测试

openGauss使用测试

  1. openGauss服务启/停
    #分布式
    gs_om -t start   #启动服务
    gs-om -t restart #重启服务
    #集中式
    gs_om -t stop    #关闭服务
    gs-om -t restart #启动服务
    
  2. 查看openGauss数据库状态
    gs_om -t status --detail
    
  3. 检查性能
    gs_checkperf
    gs_checkperf -i pmk -U omm
    gs_checkperf -i pmk -U omm --detail
    
  4. 查看数据库端口号
    cat /opt/huawei/install/data/dn/postgresql.conf | grep port
    
  5. 以omm远程连接上centos7.6,登录openGauss
    gsql -d postgres -p 15400 #在cluster_config_templae.conf中设置的连接端口
    
  6. 应用
    1. 创建/删除 用户
      create user 用户名 with passwd "密码";   #新用户
      drop user 用户名 cascade;   #删除前需确保该用户下没有任何资源
      
    2. 创建/删除 数据库
      create database 库名 owner 用户名; #创建数据库,不指定owner默认omm
      drop database 库名; #删除数据库
      
    3. 创建/删除 表
      create table stu(id int,name varchar(10),gender varchar(10),age int);
      drop table stu;
      
    4. 修改表结构-(新增一列)
      alter table stu add hobby varchar(20);
      
    5. 查询数据
      select * from stu;
      
    6. 新增数据
      insert into stu values(1001,'ethan','male',24,'play basketball');
      
    7. 更新数据
      update stu set hobby='play football' where id=1001;
      
    8. 删除数据
      delete from stu where id=1001;
      

openGauss常用命令

  1. 退出数据库

    Postgres=# \q
    
  2. 进入数据库可以直接用help获取帮助信息
    版权信息

    Postgres=# \copyright
    
  3. 查看数据库对象
    查看帮助信息

    postgres=# \?
    
  4. 切换数据库

    postgres=# \c dbname
    
  5. 列举数据库:
    使用\l元命令查看数据库系统的数据库列表。

    postgres=# \l
    
  6. 使用如下命令通过系统表pg_database查询数据库列表。

    postgres=# SELECT datname FROM pg_database;
    
  7. 列举表:

    postgres=# \dt
    
  8. 列举所有表、视图和索引:

    postgres=# \d+
    
  9. 使用gsql的\d+命令查询表的属性

    postgres=# \d+ tablename
    
  10. 查看表结构:

    postgres=# \d tablename
    
  11. 列举schema:

    postgres=# \dn
    
  12. 查看索引:

    postgres=# \di
    
  13. 查询表空间:
    使用gsql程序的元命令查询表空间。

    postgres=# \db
    
  14. 检查pg_tablespace系统表。如下命令可查到系统和用户定义的全部表空间。

    postgres=# SELECT spcname FROM pg_tablespace;
    
  15. 查看数据库用户列表:

    postgres=# SELECT * FROM pg_user;
    
  16. 要查看用户属性:

    postgres=# SELECT * FROM pg_authid; postgres=# SELECT * FROM PG_ROLES;
    
  17. 其他操作
    切换数据库:

    postgres=# \c dbname
    
  18. 切换用户:

    postgres=# \c – username
    

接下来我会在虚拟机测试进行openEuler操作系统进行安装部署openGauss,不知道结果会怎么样,完成再写一篇文共享给大家,有兴趣的铁汁可以期待一波,不一定能成功!!

在这里插入图片描述

相关文章:

openGauss本地Centos7.6单机安装和简单应用

openGauss本地Centos7.6单机安装和简单应用 openGauss基础环境配置openGauss安装openGauss使用测试openGauss常用命令 openGauss基础环境配置 在VMware Workstation中安装一台 centos7.6 内存&#xff1a;8GB&#xff0c;亲测4GB安装不够 磁盘&#xff1a;测试50GB-100GB够用 …...

LeetCode--1 两数之和

文章目录 1 题目描述2 解题思路2.1 暴力破解2.2 使用 Map 1 题目描述 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不…...

Hafnium安全分区管理器和示例参考软件栈

安全之安全(security)博客目录导读 目录 一、安全分区管理器 1、术语 2、对旧平台的支持 二、示例参考软件栈 一、安全分区管理器 安全分区管理器的三种实现在TF-A代码库并存&#xff1a; 1.基于FF-A规范的S-EL2 SPMC&#xff08;SPM Core&#xff09;&#xff0c;使能安全…...

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的入口发生了什么

文章目录 前言&#xff08;1&#xff09;vue 项目构建的时候&#xff0c;通过package.json文件看到构建入口&#xff08;2&#xff09; 构建入口页面&#xff1a;导入同级模块config的getAllbuilds方法&#xff08;3&#xff09; 通过传入参数中的builds对象使用map获取&#x…...

系统架构师论文总结【持续更新】

系统架构师考试是对计算机从业人员&#xff0c;以考代评的重要考试&#xff0c;近几年一直在参加考试&#xff0c;屡战屡败&#xff0c;后又屡败屡战&#xff0c;记录总结论文相关的知识点&#xff0c;方便考前查看。 一、2010年论文 1&#xff09;论软件的静态演化和动态演化…...

STM32-LCD中英文显示及应用

目录 字符编码 ASCII码&#xff08;8位&#xff09; 中文编码&#xff08;16位&#xff09; GB2312标准 GBK编码 GB18030标准&#xff08;32位&#xff09; Big5编码 Unicode字符集和编码 UTF-32&#xff08;32位&#xff09; UTF-16&#xff08;16位/32位&#xff0…...

13.4web自动化测试(Selenium3+Java)

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

P1966 [NOIP2013 提高组] 火柴排队

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

Linux文件I/O

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

卡巴斯基2009杀毒软件

下载地址&#xff1a;https://user.qzone.qq.com/512526231/main https://user.qzone.qq.com/3503787372/main...

Docker 容器服务的注册、发现及Docker安全

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

UE5 Blueprint发送http请求

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

SpringBoot 分布式验证码登录方案

前言 为了防止验证系统被暴力破解&#xff0c;很多系统都增加了验证码效验&#xff0c;比较常见的就是图片二维码&#xff0c;业内比较安全的是短信验证码&#xff0c;当然还有一些拼图验证码&#xff0c;加入人工智能的二维码等等&#xff0c;我们今天的主题就是前后端分离的…...

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群&#xff1a;801549240 联系老师内推简历投递邮箱&#xff1a;hrictyc.com 内推公司1&#xff1a;南京华苏科技有限公司 内推公司2&#xff1a;南京欣网通信股份有限公司 内推公司3&#xff1a;广东华讯工程有限公司 南京华苏科技有限公司 南京华苏科技有…...

5083: 【递推】走方格

题目描述 在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样&#xff0c;从上到下依次为第 1 至第 n 行&#xff0c;从左到右依次为第 1 至第 m 列&#xff0c;每一个点可以用行号和列号来表示。 现在有个人站在第 1 行第 1 列&#xff0c;要走到第 n 行第 m …...

多种方式计算当天与另一天的间隔天数 Java实现

这里不会记录纯原生写法&#xff0c;因为现在基本都是被工具类封装好的&#xff0c;所以会记录好用的工具类来简化开发&#xff0c;当然自己可以研究写一个年月日各自做减法的纯原生工具类。 踩坑处(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年&#xff0c;皇家加拿大海军将5针保龄球放在能够侦测球面转动的硬件上&#xff0c;这个硬件再将信息转化成光标在屏幕上移动&#xff0c;用作军事计算机输入。这是我们能够追溯到的最早的依靠手部运动进行光标移动的输入设备。但当时这个东西不叫鼠标&…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...