• 百日完成国产数据库opengausss的开源任务--openGuass极简版3.0.0安装教程


    🍣 o p e n g a u s s 需 要 服 务 器 端 , 安 装 在 L i n u x 中 \textcolor{green}{opengauss需要服务器端,安装在Linux中} opengaussLinux🍣
    🍣 启 动 服 务 器 端 , 最 后 才 能 在 w i n 客 户 端 中 使 用 \textcolor{green}{启动服务器端,最后才能在win客户端中使用} win使🍣
    🍣 本 文 从 是 安 装 服 务 器 到 客 户 端 使 用 的 过 程 以 及 出 现 的 问 题 \textcolor{green}{本文从是安装服务器到客户端使用的过程以及出现的问题} 使🍣
    欢迎各位小伙伴😄关注👍点赞⭐️收藏📝留言

    环境

    • Linux Centos7.6
    • python 3.6.X

    官方介绍

    极简版2.0.0
    极简版3.0.0

    极简版为了适应小内存机器,在部署时将部分重要内存参数设置较低。极简版安装的数据库字符集将原先默认的SQL_ACSII字符集改为en_US.UTF-8。 这个在下面会给大家讲明如何去设置。

    我们安装的是极简版的3.0.0,可以将以上的连接作为一个参考,我会将详细的步骤,以及中间出现过的问题写在本篇文章中

    安装极简版3.0.0

    环境配置

    python

    这里的python环境最好是3.6.X,在之前的文章中提到了如何安装python-3.6.1详情可以点击Linux中安装python3.6.X

    这里再讲一种3.6.8的安装方式:

    yum install -y libaio-devel flex bison ncurses-devel glibc.devel patch lsb_release openssl* python3
    
    • 1

    如果之前切换过默认版本,就不需要进行了,但我仍会将这个给写一下
    将旧文件进行备份,并将python3进行软连接

    cd /usr/bin
    mv python python.bak
    ln -s python3 /usr/bin/python
    
    • 1
    • 2
    • 3

    查看版本:
    在这里插入图片描述

    设置字符集

    [root@localhost ~]# cat >> /etc/profile <<EOF
    > export LANG=en_US.UTF-8
    > EOF
    
    • 1
    • 2
    • 3

    如何查看

    [root@localhost ~]# cat /etc/profile
    
    • 1

    在这里插入图片描述
    如果只想查看字符集还有一种命令

    [root@localhost ~]# echo $LANG
    
    • 1

    在这里插入图片描述

    确保成功后,还要执行下面的命令,可以保证配置生效

    [root@localhost ~]# source /etc/profile
    
    • 1

    关闭交换内存

    [root@localhost ~]#  swapoff -a
    
    • 1

    关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。

    yum源

    centos的源默认是国外的,在之后我们要安装数据库的时候会经常使用到yum,所以我们将其换成华为。如果不更换会出现No package gs_ctl available. Error: Nothing to do,问题的解决办法在文章的问题中也有提到

    # 依次运行
    
    # 创建官方备份源文件
    [root@localhost ~]# mkdir /etc/yum.repos.d/bak
    
    # 将其进行移动
    [root@localhost ~]# mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak/
    
    # 下载华为源
    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    
    # 清除原缓存并生成新缓存
    [root@localhost ~]# yum clean all
    [root@localhost ~]# yum makecache
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    如果wget不能使用,就需要先通过下面代码安装一下yum install wget -y

    配置完之后,我们需要安装依赖的软件包

    [root@localhost ~]# yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel -y
    
    • 1

    关闭防火墙

    # 查看防火墙状态,如果是dead那就是关闭的,如果不是就需要继续执行下面的代码
    [root@localhost ~]# systemctl status firewalld
    
    #关闭防火墙
    [root@localhost ~]# systemctl disable firewalld.service 
    [root@localhost ~]# systemctl stop firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    关闭 selinux

    [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
    • 1
    #查看状态
    [root@localhost ~]# cat /etc/selinux/config
    
    • 1
    • 2

    在这里插入图片描述

    创建普通用户和目录,并授权

    因为我们的数据库不能使用root用户,所以需要创建一个普通用户omm

    
    # 创建用户组
    [root@localhost bin]#  groupadd dbgrp
    # 创建用户omm
    [root@localhost bin]#  useradd -g dbgrp -d /home/omm -m -s /bin/bash omm
    [root@localhost bin]#  echo "omm" | passwd --stdin omm
    #创建安装目录
    [root@localhost bin]#  mkdir -p /opt/software/openGauss
    # 授权
    [root@localhost bin]#  chmod 755 -R /opt/software
    [root@localhost bin]#  chown -R omm:dbgrp /opt/software/openGauss
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    官方2.0.0提供的脚本

    groupadd -g 1001 dbgrp
    useradd -u 2001 -g dbgrp omm
    mkdir -p /opt/software/openGauss
    chown -R omm:dbgrp /opt
    
    • 1
    • 2
    • 3
    • 4

    如果忘记密码怎么办?这里提供修改密码的方式

    • root 用户下
      # 输入passwd  用户名
      [root@localhost ~]# passwd omm
      
      # 直接输入新密码,再次输入确认密码即可
      
      • 1
      • 2
      • 3
      • 4
      root用户下,可以修改任何一个非root用户,而且不需要输入旧密码。
    • 非root用户下
      首先你要登录旧帐户
      #登录指定账户omm
      [root@localhost ~]# su - omm
      
      • 1
      • 2
      在这里插入图片描述
      #直接输入passwd
      [omm@localhost ~]$ passwd
      # 之后就需要依次输入用户当前密码,新密码,确认密码
      
      • 1
      • 2
      • 3

    确认时区

    执行如下命令检查各数据库节点时间和时区是否一致。

    [root@localhost ~]# date
    
    • 1

    如果不一样直接就需要修改时区

    [root@localhost ~]# rm -fr /etc/localtime
    [root@localhost ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    [root@localhost ~]# ll /etc/localtime
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    关闭 RemoveIPC

    在各数据库节点上,关闭RemoveIPC。CentOS操作系统默认为关闭,可以跳过该步骤。如果是其他版本,就需要修改。

    • 修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”。

       vi  /etc/systemd/logind.conf
      
      • 1

      修改“RemoveIPC”值为“no”。RemoveIPC=no

    • 修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC”值为“no”。

       vi /usr/lib/systemd/system/systemd-logind.service
      
      • 1

      修改“RemoveIPC”值为“no”。RemoveIPC=no

    • 重新加载配置参数。

      systemctl daemon-reload
      systemctl restart systemd-logind
      
      • 1
      • 2

    解压并一键式安装单机openGauss

    在这里插入图片描述
    工具包下载

    ## 解压软件
    ## 一定要先到 omm 用户下
    [root@localhost ~]# su - omm 
    [omm@localhost ~]$ cd /opt/software/openGauss/ 
    [omm@localhost openGauss]$ tar -jxf openGauss-3.0.0-CentOS-64bit.tar.bz2 -C /opt/software/openGauss/
    
    ## 一键式脚本安装 
    [omm@localhost openGauss]$ cd /opt/software/openGauss/simpleInstall/ 
    ## 记住这里的端口号26000
    [omm@localhost simpleInstall]$ sh install.sh -w gauss@123  -p 26000  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    如果出现-bash: bzip2: command not found
    这是因为bz2这是一个压缩文件,你的LInux系统中没有解压缩,所以需要先去下载。yum install -y bzip2

    如果出现报错“the maximum number of SEMMNI is not correct, the current SEMMNI is xxx. Please check it.”
    需要在有root权限的用户执行命令 sysctl -w kernel.sem="250 85000 250 330"

    此时就基本完成了

    • 极简版的优势:openGauss极简版免去了用户配置XML文件的操作,也免去了配置1主+1备的配置操作,安装配置简单,适合高校学生或者个人功能测试的场景

    启动数据库

    一定要在omm用户下,如果在root下就会出现下面的问题

    [root@localhost ~]# gs_ctl start -D $GAUSSHOME/data/single_node -Z single_node
    -bash: gs_ctl: command not found
    
    • 1
    • 2

    切换到omm用户

    [root@localhost ~]# su - omm
    Last login: Fri Jul  1 15:14:53 CST 2022 on pts/2
    -bash: ulimit: open files: cannot modify limit: Operation not permitted
    
    • 1
    • 2
    • 3

    启动数据库

    [omm@localhost ~]$ gs_ctl start -D $GAUSSHOME/data/single_node -Z single_node
    
    • 1

    在这里插入图片描述

    查看是否启动

    [omm@localhost ~]$ ps -ef |grep gauss
    omm       48933      1 68 11:03 ?        00:00:12 /opt/software/openGauss/bin/gaussdb -D /opt/software/openGauss/data/single_node
    omm       49230  48526  0 11:03 pts/0    00:00:00 grep --color=auto gauss
    
    • 1
    • 2
    • 3

    连接数据库,创建新用户
    创建数据库用户是为用于客户端(例如:DataStudio)通过网络连接openGauss服务器。openGauss不允许使用omm用户(openGauss默认的管理员用户)来远程连接数据库。

    1. 使用服务器的 gsql连接数据库
      数据库安装完成会生成名称为postgres的数据库,首次连接时我们可以使用它。
      #这里的26000就是之前让记住的端口号,当然也可以通过其他方式找到。
      [omm@localhost ~]$ gsql -d postgres -p 26000
      
      • 1
      • 2
      在这里插入图片描述
      # 查看端口号
      [omm@localhost ~]$ cat /opt/software/openGauss/data/single_node/postgresql.conf |grep port
      
      • 1
      • 2
    2. 创建新的数据库并授予权限
    ## 使用默认数据库登录
    [omm@localhost ~]$ gsql -d postgres -p 26000 -W 'gauss@123' -r
    gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:34 commit 0 last mr  )
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
    
    ## 创建新的数据库test
    openGauss=# CREATE DATABASE test ENCODING 'UTF-8' template = template0;
    CREATE DATABASE
    ## 创建新的用户hxl 以及密码
    openGauss=# create user hxl password 'Gauss@123';
    CREATE ROLE
    ##修改数据库test的所属为hxl
    openGauss=# alter database test owner to hxl;
    ALTER DATABASE
    ## 将权限赋给用户
    openGauss=# GRANT ALL PRIVILEGES TO hxl;
    ALTER ROLE
    openGauss=# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

    使用用户连接数据库

    # gsql -d 数据库名 -p 36000 -U 用户名 -W 密码  -r
    [omm@localhost ~]$ gsql -d test -p 26000 -U hxl -W Gauss@123 -r
    
    • 1
    • 2

    在这里插入图片描述

    修改配置

    其实到前面在服务器端以及可以用了,但是我们的目标是给用户使用,用户可以不会对着黑框框使用。那么为了可以使用客户端也就是Data Studio工具使用。

    1. 修改 /opt/software/openGauss/data/single_node/pg_hba.conf

      [omm@localhost ~]$ vi /opt/software/openGauss/data/single_node/pg_hba.conf
      
      • 1

      在下图中的位置加入host all all 0.0.0.0/0 sha256
      下图中的192.168.75.101 IP地址如果不知道,可以在下面的的问题中找到
      在这里插入图片描述

    2. 修改 /opt/software/openGauss/data/single_node/postgresql.conf
      修改listen_addresses

       [omm@localhost ~]$ vi /opt/software/openGauss/data/single_node/postgresql.conf
        ```
      
      
      ```bash
      # 将监听地址设置为*或者指定的客户端ip地址
      listen_addresses = '*'
      # 如果不想写成 * ,那么就可以使用下面的方式
      # listen_addresses = 'local,192.168.75.101'
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    3. 重新启动数据库即可

      [omm@localhost ~]$ gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node
      
      • 1

    连接Data Studio

    在官网下载 Data Studio工具包,就可以直接使用了。
    在这里插入图片描述

    • 注意看下图,我将其中的作为说明
      • 名称:自己写
      • 主机号:在Linux操作系统中查出来的主机号,我这里为192.168.XX.XX
      • 端口号:安装数据库的时候自己写的,也可以在服务器端查询
      • 数据库:创建数据库的库名
      • 用户名:同样是创建数据库的时候用户名 例如:hxl
      • 密码:用户名的密码 例如:Gauss@123
      • 是否启动SSL:这里不需要。
        点击确定进入页面就证明成功了。

    在这里插入图片描述

    在这里插入图片描述

    出现的问题

    1. 执行install.sh脚本安装openGauss出现以下错误
      On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.

      解决:在/etc/sysctl.conf中加入语句kernel.sem = 250 32000 100 999,然后执行sysctl -p
    2. 提示:No package gs_ctl available. Error: Nothing to do
      解决:这是因为yum源出现了问题,修改一下即可解决。
      本次使用的yum源是华为的https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo。在前面的步骤中涉及到了配置yum源,将那里重新配置即可。
    3. yum安装时报错:Loaded plugins: fastestmirror
      fastestmirror是yum的一个加速插件,意思就是不能用了,我们将其禁用即可
      运行下面语句,修改配置文件
      vi  /etc/yum/pluginconf.d/fastestmirror.conf
      
      • 1
      将里面的enabled = 1修改为enabled = 0 意思就是要禁用这个插件
      vi /etc/yum.conf
      
      • 1
      将里面的plugins设置为plugins=0 意思就是不使用插件
      清除缓存并重新构建yum 源
      yum clean all
      yum clean dbcache
      yum makecache
      
      • 1
      • 2
      • 3
      此时这个问题就解决了
    4. 查看操作系统的IP地址
      ipconfig或者下图中的ip addr
      在这里插入图片描述

    🍣 这 篇 文 章 就 定 格 在 这 里 了 , 如 果 有 问 题 , 随 时 欢 迎 私 聊 \textcolor{green}{这篇文章就定格在这里了,如果有问题,随时欢迎私聊} 🍣

  • 相关阅读:
    解释pom中的依赖dependency
    java新冠病例智能统计与相应预防措施分析系统springboot
    C# 使用 REST API HTTP 客户端生成器
    牛血清白蛋白-葡聚糖-叶黄素纳米颗粒/半乳糖白蛋白磁性阿霉素纳米粒的制备
    Dubbo启动报错
    Django笔记三十六之单元测试汇总介绍
    代理IP与Socks5代理:网络工程师的神奇魔法棒
    WebSocket协议:5分钟从入门到精通
    QT中QJson详细解析+代码演示
    【文献导读】XPBD: Position-Based Simulation of Compliant Constrained Dynamics
  • 原文地址:https://blog.csdn.net/qq_43585922/article/details/125570472