【openEuler 20.03 TLS编译openGauss2.1.0源码】

news2024/11/26 7:50:41

openEuler 20.03 TLS编译openGauss2.1.0源码

    • 一、安装环境
    • 二、安装前准备
    • 二、安装步骤

一、安装环境

项目Value
操作系统openEuler 20.03 64bit with ARM
openGauss2.1.0
openGauss-third_party2.1.0

二、安装前准备

项目Value
购买华为ECS鲲鹏 8vCPU32G 100M/s带宽 openEuler 20.03 64bit with ARM

二、安装步骤

以下操作需要在root用户下执行

  1. 设置字符集参数

    cat >>/etc/profile<<EOF
    export LANG=en_US.UTF-8
    EOF
    

    输入如下命令,使修改生效。

    source /etc/profile
    
  2. 修改python版本并安装libaio包
    之前安装过程中openGauss用户互信,openEuler服务器需要用到Python-3.7.x命令,但是默认Python版本为Python-2.7.x,所以需要切换Python版本。

    cd /usr/bin
    mv /usr/bin/python /usr/bin/python.bak
    ln -s python3 /usr/bin/python
    python -V
    yum install libaio* -y
    
  3. 创建openGauss数据库的安装用户omm及其属组dbgrp

    groupadd -g 1000 dbgrp
    useradd -g dbgrp -u 1000 -d /home/omm omm
    

    修改omm用户密码:

    passwd omm
    #回车,输入用户密码
    
  4. 创建openGauss源码存放及openGauss安装路径

    mkdir -p /opt/software/openGauss/data
    chown omm:dbgrp -R /opt/software
    chmod 755 -R /opt/software
    
  5. 安装git和git-lfs
    需要先修改yum:vim /etc/yum.repos.d/openEuler.repo,将gpgcheck=1全部改成gpgcheck=0
    在执行如下命令使得yum的修改生效:

    yum clean all
    yum makecache
    yum update --allowerasing --skip-broken --nobest -y
    

    最后执行安装git的命令,如下:

    yum install git -y
    

    再安装git-lfs
    下载git-lfs-linux-arm64-v3.3.0.tar.gz包,下载地址:git-lfs-linux-arm64-v3.3.0.tar.gz
    将下载的git-lfs-linux-arm64-v3.3.0.tar.gz上传到服务器上或者直接在服务器上使用wget命令下载,如:

    cd /root
    wget https://github.com/git-lfs/git-lfs/releases/download/v3.3.0/git-lfs-linux-arm64-v3.3.0.tar.gz
    

    解压,执行:

    tar -zvxf git-lfs-linux-arm64-v3.3.0.tar.gz
    

    进入到解压之后的目录git-lfs-3.3.0下,执行如下命令:

    ./install.sh 
    #或者
    ./git-lfs install
    

    看到如下信息说明安装成功了:
    在这里插入图片描述

  6. 下载openGauss源码和openGauss-third_party_binarylibs第三方库,进入到/sda目录下 ,下载openGauss2.1.0 源码和下载openGauss-third_party_binarylibs-2.1.0,由于开源软件编译构建耗时长,我们特地使用openGauss-third_party编译构建出了一份binarylibs并压缩上传到了网上,用户可以直接下载获取。下载比较慢,请稍等几分钟

    cd /opt/software
    git clone https://gitee.com/opengauss/openGauss-server.git openGauss-server -b 2.1.0
    wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.1.0/openGauss-third_party_binarylibs.tar.gz
    # 下载完毕后请解压,重命名文件夹为 binarylibs
    tar -zvxf openGauss-third_party_binarylibs.tar.gz
    mv openGauss-third_party_binarylibs binarylibs
    

    至此,/opt/software 目录下已经有了openGauss和第三方库,如下所示:

    ls -l
    # 结果如下
    drwxr-xr-x  7 root root 4.0K Mar 20  2022 binarylibs
    drwxr-xr-x 10 root root 4.0K Jun  5 19:52 openGauss
    drwxr-xr-x 12 root root 4.0K Jun  5 19:52 openGauss-server
    -rwxr-xr-x  1 root root 2.6G Mar 20  2022 openGauss-third_party_binarylibs.tar.gz
    
  7. 安装编译openGauss-server所需要的第三方依赖库,具体如下所示:

    yum install -y libaio-devel ncurses-devel pam-devel libffi-devel libtool libtool-devel libtool-ltdl openssl-devel bison golang dkms-2.6.1-5.oe1.noarch python3-devel patch autoconf readline-devel gcc-c++ libstdc++-devel automake texinfo indent byacc cmake diffutils help2man gettext-devel
    

    具体可以参考:版本编译

  8. 手动安装flex
    下载flex安装包,点击下载:flex-2.5.39.tar.bz2
    上传flex-2.5.39.tar.bz2安装到/root目录下,并解压配置安装:tar -xvf flex-2.5.39.tar.bz2
    进入flex-2.5.39目录下,执行:

    ./autogen.sh
    ./configure
    make
    make install
    

    然后,将flex-2.5.39目录下的flex脚本复制到/usr/bin目录下,执行:

    cp /root/flex-2.5.39/flex /usr/bin/flex
    

    最后,执行flex命令查看版本号:

    [root@sjmopengauss02 flex-2.5.39]# flex --version
    flex 2.5.39
    
  9. 手动安装lsb_release
    下载openeuler-lsb-5.0-1.oe2203.src.rpm包并上传到/root目录下
    执行:rpm -ihv openeuler-lsb-5.0-1.oe2203.src.rpm,该命令执行完成后,会在当前目录下生成rpmbuild目录,执行:/root/rpmbuild/SOURCES,进入rpmbuild目录会看到openeuler-lsb-5.0.tar.bz2,将其解压缩,执行:tar -xvf openeuler-lsb-5.0.tar.bz2,进入解压后的目录openeuler-lsb-5.0,将其中的lsb_release复制到/usr/bin目录下,具体命令如下:

    rpm -ihv openeuler-lsb-5.0-1.oe2203.src.rpm
    cd /root/rpmbuild/SOURCES
    tar -xvf openeuler-lsb-5.0.tar.bz2
    cd openeuler-lsb-5.0
    cp lsb_release /usr/bin/lsb_release
    

    验证lsb_release是否已经安装成功,执行:

    [root@sjmopengauss02 ~]# lsb_release -a
    LSB Version:    n/a
    Distributor ID: openEuler
    Description:    openEuler release 20.03 (LTS)
    Release:        20.03
    Codename:       LTS
    [root@sjmopengauss02 ~]#
    
  10. 修改openGauss源代码所在目录及其子目录的用户及其用户组以及权限,执行:

    chown omm:dbgrp -R /sda
    chmod 755 -R /sda
    

以下是在omm用户下操作

  1. 以omm用户登录ECS】配置环境变量,编辑~/.bashrc文件,在该文件末尾添加如下所示内容:

    export CODE_BASE=/opt/software/openGauss-server     # openGauss-server的路径
    export BINARYLIBS=/opt/software/binarylibs    # binarylibs的路径
    export GAUSSHOME=$CODE_BASE/openGauss/
    export GCC_PATH=$BINARYLIBS/buildtools/openeuler_aarch64/gcc7.3/
    export CC=$GCC_PATH/gcc/bin/gcc
    export CXX=$GCC_PATH/gcc/bin/g++
    export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
    export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH
    

    环境变量生效,执行:source ~/.bashrc

  2. 配置openGauss源码】进入/opt/software/openGauss-server目录下,选择版本进行configure。我们这里选择debuge版本,执行如下代码:

    ./configure --gcc-version=7.3.0 --enable-mot CC=g++ CFLAGS='-O0 -D__USE_NUMA -D__ARM_LSE' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
    
  3. 编译并安装openGauss】当前一步骤执行成功后,在/sda/openGauss-server目录下执行:

    make -j8
    

    编译成功的结果如下图所示:
    在这里插入图片描述
    安装openGauss

    make install -j8
    

    安装成功结果如下图所示:
    在这里插入图片描述

  4. 初始化openGauss数据库】当安装openGauss成功后,需对其进行数据初始化, 在初始化数据库时,需要设置数据库密码,并且要使用复杂密码,如下命令。gs_initdb -D $PGDATA --nodename=hostname --locale="en_US.UTF-8" -Atrust -w {password},具体执行如下命令:

    gs_initdb -D /opt/software/openGauss/data --nodename=sjmopengauss03 --locale="en_US.UTF-8" -Atrust -w 'openGauss@1234'
    

    初始化成功截图如下所示:
    在这里插入图片描述

  5. 启动数据库

    gs_ctl start -D /opt/software/openGauss/data -Z single_node -l logfile 
    

    成功启动结果如下图所示:
    在这里插入图片描述

  6. 登录数据库

    gsql -d postgres -p 5432 -r
    

    成功登录截图:
    在这里插入图片描述

  7. 创建数据库db01,执行:create database db01;
    在这里插入图片描述

  8. 退出数据库,执行:\q

至此已经完成了基于openEuler20.03TLS编译openGauss-2.1.0的全部工作。如本文对您有所帮助,麻烦动动您发财的手指点个赞或者转发,感谢支持~~~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

组网配置案例

汇聚层与接入层或者汇聚层与核心层组网 案例&#xff1a; port-group技术&#xff1a;可实现对于所有组内接口进行相同配置 [ACC-1]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/9 [ACC-1-port-group]port link-type access [ACC-1-port-group]port…

【大数据学习番外篇之爬虫1】 爬虫的介绍与基本使用

目录 1. 爬虫的介绍 2. 爬虫基本使用 2.1 爬取搜狗首页的页面数据 2.2 网页采集器 1. 爬虫的介绍 前戏&#xff1a; 1.你是否在夜深人静的时候&#xff0c;想看一些会让你更睡不着的图片却苦于没有资源... 2.你是否在节假日出行高峰的时候&#xff0c;想快速抢购火…

【CentOS安装软件系列】Centos7安装Mysql8

前言 公司的系统都是内网部署的&#xff0c;mysql也需要自己在内网部署&#xff0c;虽然使用docker安装很方便&#xff0c;但是有一定的风险。所以简单记录一下怎么安装mysql&#xff0c;以备不时之需。 一、下载安装包 下载地址&#xff1a;https://downloads.mysql.com/arch…

javaScript蓝桥杯-----天气趋势 A

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 日常生活中&#xff0c;气象数据对于人们的生活具有非常重要的意义&#xff0c;数据的表现形式多种多样&#xff0c;使用图表进行展示使数据在呈现上更加直观。 本题请实现一个 Y 城 2022 年的天气趋势图。 二、准备…

【Python】一文带你认识 Web 框架之 FastAPI

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

TI DSP芯片C2000系列读取FLASH数据

本文记录如何读取TI芯片的flash数据 进入TI官网下载UNIFLASH工具 点击查看详情 点击下载选项&#xff0c;根据系统下载对应版本 下载完成之后&#xff0c;点击安装。安装完成之后双击图标点开。如果你的板子已经供电&#xff0c;且编程器已经连接好&#xff0c;UNIFLASH会自动…

使用C++处理一行输入未知个数的字符的问题

今天分享一下使用C处理一行输入未知个数的字符的问题。 一&#xff0c;问题描述 在一行输入未知个数字符&#xff0c;以回车结束输入。 二&#xff0c;分析问题 第一种方式使用String类型&#xff0c;直接读入一串字符&#xff0c;这种方法简单高效。第二种方式一个一个字符…

HCIA-DHCP,FTP,Telnet

目录 DHCP&#xff1a; DHCP的优点&#xff1a; DHCP的工作原理 DHCP的配置 DHCP全局地址池案例&#xff1a; FTP FTP介绍 FTP基本配置 Telnet Telnet的应用场景 Telnet设备配置 Telnet配置案例 DHCP&#xff1a; 解决传统手工配置IP的问题&#xff0c;可以实现IP的…

Openlayers优化加载地图瓦片太慢的问题,Openlayers瓦片缓存实现和请求失败瓦片重试功能

专栏目录: OpenLayers入门教程汇总目录 前言 Openlayers默认加载地图瓦片很慢,通过对比使用openlayers和leaflet加载速度,能够明显看到openlayers加载速度比leaflet要慢很多。 通过Openlayers源码发现是因为Openlayers的瓦片加载机制是通过tileQueue瓦片加载队列来顺序加载…

变电所运维云平台在电力系统中的应用

安科瑞虞佳豪 变电所运维云平台可以看做是电力监控系统的网络应用延伸&#xff0c;变电所运维云平台通过互联网&#xff0c;电力运维人员通过手机可以随时随地了解工厂配电系统的运行情况&#xff0c;做到无人值守或者少人值守&#xff0c;同时可以监测用能状况、漏电、线缆异…

基于图像识别框架Airtest的Windows项目自动化测试实践

写在前面 本次分享的内容是基于Airtest实现Windows应用的自动化测试&#xff0c;内容大纲&#xff1a; Airtest框架介绍&#xff1a;Airtest适用项目、Airtest特点、Airtest的优势 Airtest框架组成、原理 Airtest环境搭建及IDE的简单使用 Airtest开展Windows应用自动化测试实…

Navicat恢复数据库连接及查询sql的解决办法

文章目录 如题一. 恢复Navicat数据库连接信息注册表编辑工具 二. 恢复Navicat每个数据库的sql文件等 如题 因为公司给电脑加域&#xff0c;导致使用新的用户账户&#xff0c;原先的很多配置都失效了&#xff0c;本篇是讲述一下如何恢复数据库连接工具Navicat的连接数据。 一.…

300多个日夜的付出,从外包跑路的我,上岸阿里,没人知道我经历了什么

前言&#xff1a; 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2023年5月&#xff0c;我有幸成为阿里的一名自动化测试工程师&#xff…

RTSP/Onvif协议安防视频平台EasyNVR服务频繁重启是什么原因?

EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议&#xff0c;将前端接入设备的音视频资源进行采集&#xff0c;并转码成适合全平台、全终端分发的视频流格式&#xff0c;包括RTSP、RTMP、FLV、HLS、WebRTC等格式。平台可拓展性强、部署轻快&#xff0c;在安防监控领域有着广泛…

MVVM (Model-View-ViewModel Pattern)

MVVM 模式中有三个核心组件&#xff1a;模型、视图和视图模型。 每个组件的用途不同。 下图显示了这三个组件之间的关系。 在交互层次上&#xff0c;视图“了解”视图模型&#xff0c;视图模型“了解”模型&#xff0c;但模型不知道视图模型&#xff0c;而视图模型不知道视图。…

链表内指定区间反转

题目&#xff1a; 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转&#xff0c;要求时间复杂度 O(n)&#xff0c;空间复杂度 O(1)。 例如&#xff1a; 给出的链表为 1→2→3→4→5→NULL&#xff0c;m2&#xff0c;n4 返回 1→4→3→2→5→NULL 数据范围&#xff…

日常开发中,提升技术的13个建议

前言 1. 打好基础,深入学习语言特性 比如&#xff0c;对于Java程序员来说,要了解Java语言的基本概念和核心特性&#xff0c;包括面向对象编程、集合框架、异常处理、多线程等等。可以通过阅读Java的官方文档、教程、参考书籍或在线资源来学习。 如果最基本的基础都不扎实&…

OOM 如何监控可视化、告警推送、服务自愈

OOM&#xff0c;out of memory&#xff0c;就是内存用完了耗尽了的意思。会触发kernel调用OOM killer杀进程来解除这种状况。 OOM分为虚拟内存OOM和物理内存OOM&#xff0c;两者是不一样的。 虚拟内存OOM发生在用户空间&#xff0c;用户空间分配的就是虚拟内存&#xff0c;不…

【裸机驱动LED】使用汇编代码驱动LED(四)—— 驱动格式开发篇

上一篇使用C语言代码来驱动LED&#xff0c;之前我们是手动设置的每一个寄存器的地址&#xff0c;但是这样的效率太低&#xff0c;而且很麻烦。此时我们注意到同属于 GPIO_CCGRx 这一类的寄存器地址&#xff0c;他们之间都相差 4 个字节。 我们要利用这一特性&#xff0c;将之前…

SciencePub学术 | 【CCF推荐】计算机决策类重点SCIEI征稿中

SciencePub学术 刊源推荐: 【CCF推荐】计算机决策类重点SCI&EI征稿中&#xff01;信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; CCF推荐|计算机决策类重点SCI&EI 【期刊简介】IF&#xff1a;3.5-4.0&#xff0c;JCR2区&#xff0c;中科院3/4区…