【基于VirtualBox及openEuler20.03 TLS SP1编译openGauss2.1.0源码】
【openEuler 20.03 TLS编译openGauss2.1.0源码】
- 一、安装环境
- 二、安装步骤
一、安装环境
项目 | Value |
---|---|
虚拟机 | virtualbox |
操作系统 | openEuler 20.03 TLS |
openGauss | 2.1.0 |
openGauss-third_party | 2.1.0 |
二、安装步骤
以下操作需要在root用户下执行
-
编辑/etc/selinux/config
vim /etc/selinux/config
设置:SELINUX=disabled
该步骤需要重启:reboot -
关闭防火墙
systemctl disable firewalld.servicesystemctl stop firewalld.servicesystemctl status firewalld
-
设置字符集参数
cat >>/etc/profile<<EOF export LANG=en_US.UTF-8 EOF
输入如下命令,使修改生效。
source /etc/profile
-
修改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
-
创建openGauss数据库的安装用户opengauss及其属组dbgrp
groupadd dbgrp useradd -g dbgrp -u 1000 -d /home/opengauss opengauss
修改opengauss用户密码:
passwd opengauss #回车,输入用户密码
-
创建openGauss源码存放及openGauss安装路径
mkdir -p /opt/software/openGauss/data chown opengauss:dbgrp -R /opt/software chmod 755 -R /opt/software
-
安装git
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/openEuler.repo yum clean all yum makecache yum update --allowerasing --skip-broken --nobest -y
最后执行安装git的命令,如下:
yum install git -y
安装git-lfs,下载git-lfs-3.4.0-1.el7.x86_64.rpm
rpm -ivh git-lfs-3.4.0-1.el7.x86_64.rpm
-
下载openGauss源码和openGauss-third_party_binarylibs第三方库,进入到/opt/software目录下 ,下载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
-
安装编译openGauss-server所需要的第三方依赖库,具体如下所示:
yum install -y libaio-devel ncurses-devel pam-devel libffi-devel libtool libtool-devel libtool-ltdl openssl-devel bison golang dkms python3-devel patch autoconf readline-devel gcc-c++ libstdc++-devel automake texinfo indent byacc cmake diffutils help2man gettext-devel readline-devel m4
具体可以参考:版本编译
-
手动安装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 ~]#
-
手动安装flex-2.5.39,将flex-2.5.39.tar.bz2上传到虚拟机,解压编译安装即可
cd /root tar -xvf flex-2.5.39.tar.bz2 cd flex-2.5.39/ ./configure make -j4 make install -j4 ln -s /usr/local/bin/flex /usr/bin/flex flex --version
-
修改openGauss源代码所在目录及其子目录的用户及其用户组以及权限,执行:
chown opengauss:dbgrp -R /opt chmod 755 -R /opt
【以下是在opengauss
用户下操作】
-
【
以opengauss用户登录ECS
】配置环境变量,编辑~/.bashrc
文件,在该文件末尾添加如下所示内容:export CODE_BASE=/opt/software/openGauss-server # openGauss-server源码的路径 export BINARYLIBS=/opt/software/binarylibs # binarylibs的路径 export GAUSSHOME=/opt/software/openGauss/ # openGauss安装路径,可修改成你自己的 export GCC_PATH=$BINARYLIBS/buildtools/openeuler_x86_64/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
-
【配置openGauss源码】进入/opt/software/openGauss-server目录下,选择版本进行configure。我们这里选择debuge版本,执行如下代码:
./configure --gcc-version=7.3.0 --enable-mot CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
-
【编译并安装openGauss】当前一步骤执行成功后,在/opt/software/openGauss-server目录下执行:
make -j4
编译成功的结果如下图所示:
安装openGaussmake install -j4
安装成功结果如下信息提示:
make[1]: Leaving directory '/opt/software/openGauss-server/contrib/hstore' openGauss installation complete.
- 【初始化openGauss数据库】当安装openGauss成功后,需对其进行数据初始化, 在初始化数据库时,需要设置数据库密码,并且要使用复杂密码,如下命令。
gs_initdb -D $PGDATA --nodename=hostname --locale="en_US.UTF-8" -Atrust -w {password}
,具体可参考如下命令:其中–nodename后面的hostname
需要修改成你自己ecs的主机名称
gs_initdb -D /opt/software/openGauss/data --nodename=openeuler01 --locale="en_US.UTF-8" -Atrust -w 'openGauss@1234'
初始化成功截图如下所示:
- 【初始化openGauss数据库】当安装openGauss成功后,需对其进行数据初始化, 在初始化数据库时,需要设置数据库密码,并且要使用复杂密码,如下命令。
-
【启动数据库】
gs_ctl start -D /opt/software/openGauss/data -Z single_node -l logfile
成功启动结果如下图所示:
-
【登录数据库】
gsql -d postgres -p 5432 -r
成功登录截图:
-
创建数据库db01,执行:
create database db01;
-
退出数据库,执行:
\q
至此已经完成了基于openEuler20.03TLS编译openGauss-2.1.0的全部工作。如本文对您有所帮助,麻烦动动您发财的手指点个赞或者转发,感谢支持~~~~~
相关文章:
【基于VirtualBox及openEuler20.03 TLS SP1编译openGauss2.1.0源码】
【openEuler 20.03 TLS编译openGauss2.1.0源码】 一、安装环境二、安装步骤 一、安装环境 项目Value虚拟机virtualbox操作系统openEuler 20.03 TLSopenGauss2.1.0openGauss-third_party2.1.0 二、安装步骤 以下操作需要在root用户下执行 编辑/etc/selinux/config vim /etc/s…...
hibernate 使用注解+拦截器实现自动开启、关闭session,提交、回滚事务
hibernate 使用注解+注解拦截器实现自动开启、关闭session,开启、提交、回滚事务 项目为springboot项目 ,springboot版本为:2.5.11, hiernate-core5.4.3 版本。spring-xxx 等为5.3.17版本 注意:在spring-xxx4.x版本+ hiernate-core5.x.x版本中,hibernate的配置 true是有效的…...
Solidworks学习笔记
本内容为solidworks的学习笔记,根据自己的理解进行记录,部分可能不正确,请自行判断。 学习视频参考:【SolidWorks2018视频教程 SW2018中文版软件基础教学知识 SolidWorks自学教程软件操作教程 sw视频教程 零基础教程 视频教程】 h…...
Redis经典五大类型源码及底层实现(一)
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…...
数据库闭包求法 附相关习题及解析
闭包就是由一个属性直接或间接推导出的所有属性的集合 以下是写的比较科学规范的闭包求解方法,设X和Y均为关系R的属性集的子集,F是R上的函数依赖集,若对R的任一属性集B,一旦X→B,必有B⊆Y,且对R的任一满足…...
idea利用JRebel插件,无需重启,实现Spring Boot项目热重载,节省开发时间和精力!
插件介绍 官方介绍 翻译过来的意思是: JRebel 是一款提高开发效率的工具,允许开发者立即重新加载代码更改。它跳过了在Java开发中常见的重新构建、重启和重新部署循环。JRebel 能够让开发者在相同的时间内完成更多工作,并且在编码时能够保持…...
学习体系结构 - AArch64内存管理
学习体系结构 - AArch64内存管理 Learn the architecture - AArch64 memory management Version 1.2 个人的英语很一般,对拿不准的翻译校准在后面添加了英文原文。 1、 概述 本指南介绍了AArch64中的内存转换,这是内存管理的关键。它解释了如何将虚拟地…...
Vue3 精通指南:如何在 setup 函数中巧妙利用 Vuex
在 Vue 3 中,如果你使用了组合式 API(Composition API),你可以通过 setup 函数来设置组件的响应式状态和逻辑。要在 setup 函数中访问 Vuex 的 $store,你可以使用 useStore 钩子,它是 Vuex 4 为 Vue 3 提供…...
Linux 服务器安全策略技巧:启用账户锁定策略
Linux 服务器安全策略技巧:启用账户锁定策略 在Linux服务器上,启用账户锁定策略是一种重要的安全措施。通过锁定账户,可以防止未经授权的访问和恶意活动。本文将介绍如何在Linux服务器上启用账户锁定策略。 什么是账户锁定策略? 账户锁定策略是一种安全措施,用于限制对…...
野火霸道-V2+3.2寸屏+FreeRTOS+LVGL移植
摘要 基于野火霸道-V23.2寸屏的开发板,下载器为STLINK分为两个版本,FreeRTOS和裸机版本 裸机 裸机准备 lvgl v8.2版本的源码野火的《触摸画板-3.2寸》与《基本定时器》的代码例程 移植 将基本定时器代码移植到触摸画板-3.2寸的例程中,…...
操作教程|MeterSphere UI测试+VNC:简单、快捷地查看UI测试实时执行详情
编者注:本文为CSDN博主hxe116的原创文章。 原文链接为:https://blog.csdn.net/hxe116/article/details/134714960?spm1001.2014.3001.5502 作为一款一站式的开源持续测试平台,MeterSphere涵盖了测试跟踪、接口测试、UI测试和性能测试等功能…...
工具--Git详解
在当今的数字时代,版本控制系统已成为开发人员和团队之间协作的重要工具。其中,Git是最受欢迎的版本控制系统之一。它不仅在软件开发中广泛使用,还被应用于许多其他领域。在这篇博客中,我们将深入了解Git的工作原理、基本命令以及…...
windows server 2022 启用SYN攻击保护
2023.12.28 SYN攻击是什么: SYN攻击是黑客攻击的常用手段,也是最容易被利用的一种攻击手法,属于DDoS攻击的一种。它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。 SYN攻击包括大量TCP连接的第一个包&…...
汽车保养软件app开发步骤
“增强您的动力,为您的旅程加油——每一刻都讲述着关爱的故事。构建汽车维护软件app,为您的车辆提供数字化的维修站,从而开启长寿之路。智能驾驶、互联驾驶、自信驾驶。” 疯狂地搜索旧收据并猜测上次换油时间的日子已经一去不复返了。如果您…...
【HarmonyOS】ArkTS语言介绍与组件方式运用
从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…...
音频播放软件Foobar2000 mac特点介绍
Foobar2000 mac是一款高度可定制的音频播放器,适用于Windows平台。它支持各种音频格式,包括MP3、FLAC、AAC、WMA等,同时也支持各种音频插件和效果器,可以提供更好的音质和用户体验。 Foobar2000 mac软件特点 1. 高度可定制&#…...
Oracle动态性能视图 v$parameter 和 v$parameter2 的区别
v$parameter 的说明见这里: V$PARAMETER displays information about the initialization parameters that are currently in effect for the session. v$parameter2 的说明见这里: V$PARAMETER2 displays information about the initialization paramet…...
ssrf之dict协议和file协议
1.dict协议 dict是什么协议呢? 定义:词典网络协议,在RFC 2009中进行描述。它的目标是超越Webster protocol,并允许客户端在使 用过程中访问更多字典。Dict服务器和客户机使用TCP端口2628。 官方介绍:http://dict.o…...
OpenAI GPT 模型 API 接口新增参数 top_logprobs 和 logprobs
文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 在最新的 OpenAI 官方 APIs 文档中,Create chat completion 中新增了 top_logprobs 和 logprobs 这两个关键参数。 官方文档地址ÿ…...
React项目打包流程
一、React项目打包流程 一、React项目打包流程1. 项目打包打包命令:npm run build2. 预览接着命令行会提示执行: 先:npm install -g serve 然后执行此命令:serve -s build二、打包优化 - 配置路由懒加载 二、打包优化 - 配置路…...
04-获取认证的用户身份信息
存储用户信息的方式 获取用户信息的流程 用户提交账号和密码后,DaoAuthenticationProvider调用UserDetailsService接口实现类的loadUserByUsername()方法,该方法可以接收请求参数username的值,然后根据该值查询用户信息,最后将账号,密码,权限封装到UserDetails对象中并返回给…...
二叉树的中序遍历,力扣
目录 题目地址: 题目: 解题方法: 解题分析: 解题思路: 代码实现: 注: 代码实现(递归): 代码实现(迭代): 题目地址…...
shiro1.10版本后-IniSecurityManagerFactory过期失效
1、问题概述? 今天在研究了shiro的新版本shiro1.13.0版本,发现用了很长时间的IniSecurityManagerFactory工厂失效了。 从下图中可以看出,在新版本中IniSecurityManagerFactory被打上了过期线了。 那么问题来了,新版本如何使用呢…...
阿里后端实习二面
阿里后端实习二面 记录面试题目,希望可以帮助到大家 类加载的流程? 类加载分为三个部分:加载、连接、初始化 加载 类的加载主要的职责为将.class文件的二进制字节流读入内存(JDK1.7及之前为JVM内存,JDK1.8及之后为本地内存)&…...
「Kafka」生产者篇
「Kafka」生产者篇 生产者发送消息流程 在消息发送的过程中,涉及到了 两个线程 ——main 线程和Sender 线程。 在 main 线程中创建了 一个 双端队列 RecordAccumulator。 main线程将消息发送给RecordAccumulator,Sender线程不断从 RecordAccumulator…...
C语言实现RSA算法加解密
使用c语言实现了RSA加解密算法,可以加解密文件和字符串。 rsa算法原理 选择两个大素数p和q;计算n p * q;计算φ(n)(p-1)(q-1);选择与φ(n)互素的整数d;由de1 mod φ(n)计算得到e;公钥是(e, n), 私钥是(d, n);假设明…...
如何设计前后端分离的系统架构?
如何将前端页面和后端Java代码进行集成? 将前端页面和后端Java代码进行集成通常需要使用一些特定的工具和技术。以下是一些常见的方法: 使用RESTful API:REST(Representational State Transfer)是一种基于HTTP协议构…...
【强化学习】SARAS代码实现
前言 SARAS,假设环境状态和动作状态都是离散的。利用动作价值矩阵来进行行为的预测。其主要就是利用时序差分的思想,对动作价值矩阵进行更新。 代码实现 import gymnasium as gym import numpy as npclass sarsa():def __init__(self, states_n, acti…...
P1019 [NOIP2000 提高组] 单词接龙 刷题笔记
P1019 [NOIP2000 提高组] 单词接龙 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路来自 大佬 Chardo 的个人中心 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 匹配 : 将 第一个字符串末尾 和第二个字符串第一个开始匹配 如果 j<i这段走完了 flag还没…...
如何实现WinApp的UI自动化测试?
WinApp(WindowsAPP)是运行在Windows操作系统上的应用程序,通常会提供一个可视的界面,用于和用户交互。例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio Code、Chrome,都属于WinApp。常见的WinApp&…...
网站做cpa推广引流/链接制作软件
$ \lim \limits_{x \rightarrow \infty}x^{\frac{3}{2}}(\sqrt {2x}-2\sqrt{1x}\sqrt{x}) $ 已知$ a_{n1}(a_n1)1, a_00 $,证明数列的极限存在,并且求出极限值 f(x)三次连续可微,令$ u(x,y,z)f(xyz) $, 求 $ \phi(t)\dfrac{ \partial^3 u}{\partial x \p…...
几分钟网站做渔网/网站搭建服务
现在常用的电平标准有 TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485 等,还有一些速度比较高的 LVDS、GTL、PGTL、CML、HSTL、SSTL 等。下面简单介绍一下各自的供电电源、电平标准以及使用注意事项。TTL :Transistor-Transistor Logic 三…...
国外ui界面设计网站/win10优化大师有用吗
ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容 创建的文件格式是cfg 文件内的格式: [DEFAULT] # 全局的[alex] # 用户名Password 123 # 密码Quotation 100 # 配…...
巴音郭楞网站建设/怎么建个人网站
在分类中,和自己的父类关联public class AssessQualityIndex extends IdEntity<AssessQualityIndex> {private static final long serialVersionUID 1L; private String scoreStandard; // 评分标准private AssessQualityIndex parent; // 父级Js…...
wordpress微信对接/seo如何快速排名百度首页
准备材料 高筋面粉,分量自己把握(据说高筋和低筋混合的比较好)酵母粉,分量自己把握黄油,分量自己把握花生油(有条件的可以用橄榄油)盐糖酱油料酒番茄酱洋葱彩椒翅根芝士(非常重要&a…...
河北建基官网/徐州seo顾问
<script type"text/javascript"> //替换字符串 function Replace(str, from, to) { return str.split(from).join(to); } // 日期类型格式成指定的字符串 function FormatDate(date, format) { format Replace(format, "…...