在openEuler环境下快速编译GreatSQL RPM包
在上一篇中,已经介绍了在CentOS环境下编译GreatSQL RPM包的过程,本文再介绍如何在openEuler环境下编译GreatSQL RPM包。
运行环境是docker中的openEuler 22.03 x86_64:
$ docker -v
Docker version 20.10.10, build b485636$ docker run -itd --hostname oe --name oe openeuler/openeuler bash
1d2839ec30c28c7b20bbd6f469964b0b68ddf6485a0c4136b030c14812f8dec3$ docker exec -it oe bash
1、准备工作
1.1、配置yum源
用默认的yum源即可,无需额外添加。
1.2、安装编译所需要的软件包
安装 rmp-build
包,它会附带安装其他必要的相关依赖包,并同步安装其他必要的软件包,如cmake、gcc等:
[root@oe /]# dnf install -y automake bison bison-devel bzip2 bzip2-devel clang cmake cmake3 diffutils expat-devel file flex \
gcc gcc-c++ gcc-toolset-12-cpp gcc-toolset-12-gcc graphviz jemalloc jemalloc-devel libaio-devel \
libarchive libcurl-devel libevent-devel libffi-devel libicu-devel libssh libtirpc libtirpc-devel \
libtool libxml2-devel libzstd libzstd-devel lz4-devel lz4-static make ncurses-devel ncurses-libs \
net-tools numactl numactl-devel numactl-libs openldap-clients openldap-devel openssl openssl-devel \
pam pam-devel perl perl-Env perl-JSON perl-Memoize perl-Time-HiRes pkg-config psmisc re2-devel \
readline-devel rpcgen rpm-build rpm-build snappy-devel tar time unzip vim wget zlib-devel
1.3 创建构建RPM包所需的目录
创建相应的目录
[root@oe /]# mkdir -p /root/rpmbuild/SOURCES
1.4 下载GreatSQL源码包
戳此链接 https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-25,找到 greatsql-8.0.32-25.tar.xz
下载GreatSQL源码包,放在上面创建的 /root/rpmbuild/SOURCES
目录下,并解压缩。
1.5 下载greatsql.spec文件
戳此链接 https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/build-gs/greatsql.spec,下载 greatsql.spec
文件,放在上面创建的 /root/rpmbuild/
目录下。
1.6 下载boost源码包
编译GreatSQL 8.0.32-25版本需要配套的boost版本是1.77,戳此链接下载 https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.gz,放在上面创建的 /root/rpmbuild/SOURCES
目录下。
2、开始准备编译GreatSQL RPM包
从GreatSQL源码包中拷贝几个必要的文件
[root@oe /]# cd /root/rpmbuild/SOURCES/greatsql-8.0.32-25/build-gs/rpm
[root@oe rpm]# cp filter-*sh mysqld.cnf mysql-5.7-sharedlib-rename.patch mysql.init mysql_config.sh /root/rpmbuild/SOURCES/
在gitee上的 greatsql.spec
文件我已更新,无需再修改内容,除非你自己有需要调整。
直接开始尝试编译RPM包
[root@oe rpm]# cd /root/rpmbuild
[root@oe rpmbuild]# time rpmbuild --define 'dist .oe20' --define "_topdir /root/rpmbuild/" -bb ./greatsql.spec > rpmbuild.log 2>&1
在已经安装完上述必要的软件包、依赖包之后,正常应该能顺利完成RPM包编译了。
最后,查看编译结果,会有类似下面的日志:
[root@oe rpmbuild]# tail rpmbuild.log
Wrote: /root/rpmbuild/RPMS/x86_64/greatsql-test-8.0.32-25.1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/greatsql-debuginfo-8.0.32-25.1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.tQ4Ggn
+ umask 022
+ cd /root/rpmbuild//BUILD
+ cd greatsql-8.0.32-25
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/greatsql-8.0.32-25.1.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
再看下编译生成的RPM文件包:
[root@oe rpmbuild]# du -sch *
43G BUILD
0 BUILDROOT
64K greatsql.spec
36M rpmbuild.log
492M RPMS
472M SOURCES
472M SRPMS
45G total[root@oe rpmbuild]# cd /root/rpmbuild/RPMS/x86_64
[root@oe x86_64]# ls -la
total 503312
-rw-r--r-- 1 root root 18774049 Jan 5 07:35 greatsql-client-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 1926953 Jan 5 07:35 greatsql-devel-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 2145445 Jan 5 07:35 greatsql-icu-data-files-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 8173 Jan 5 07:35 greatsql-mysql-config-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 5104617 Jan 5 07:35 greatsql-mysql-router-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 76307101 Jan 5 07:36 greatsql-server-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 1485673 Jan 5 07:35 greatsql-shared-8.0.32-25.1.oe20.x86_64.rpm
-rw-r--r-- 1 root root 409626153 Jan 5 07:38 greatsql-test-8.0.32-25.1.oe20.x86_64.rpm
大功告成,其他内容略过,不再赘述。
延伸阅读
在CentOS环境下编译GreatSQL RPM包
玩转MySQL 8.0源码编译
将GreatSQL添加到系统systemd服务
利用GreatSQL部署MGR集群
InnoDB Cluster+GreatSQL部署MGR集群
在Docker中部署GreatSQL并构建MGR集群
全文完。
Enjoy GreatSQL :)
《深入浅出MGR》视频课程
戳此小程序即可直达B站
https://www.bilibili.com/medialist/play/1363850082?business=space_collection&business_id=343928&desc=0
文章推荐:
-
在CentOS环境下编译GreatSQL RPM包
GreatSQL 8.0.32-25来了
GreatSQL一个关于主从复制的限制描述与规避
GreatSQL MGR + ProxySQL集群搭建方案
MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响
图文结合丨玩转MySQL Shell for GreatSQL
野路子mysqld_safe玩法搞死mysqld进程
MTS性能监控你知道多少
MySQL 8.0.29 instant DDL 数据腐化问题分析
GreatSQL删除表分区特别慢的原因分析
MySQL对derived table的优化处理与使用限制
MySQL一次大量内存消耗的跟踪
MySQL运行时的可观测性
Myloader导入更快吗?并没有。。。
自打有了GIPKs,DBA和开发再也不用battle了
重现一条简单SQL的优化过程
想看更多技术好文,点个“在看”吧!
相关文章:
在openEuler环境下快速编译GreatSQL RPM包
在上一篇中,已经介绍了在CentOS环境下编译GreatSQL RPM包的过程,本文再介绍如何在openEuler环境下编译GreatSQL RPM包。 运行环境是docker中的openEuler 22.03 x86_64: $ docker -v Docker version 20.10.10, build b485636$ docker run -itd…...
C语言基础语法跟练 day3
31、不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。 #include <stdio.h> int main() {int i 0;scanf("%d",&i);printf("%d",1<<i);return 0; } 32、问题:一年约有 3.…...
【控制篇 / 策略】(7.4) ❀ 01. IP地理位置数据库和地理地址对象 ❀ FortiGate 防火墙
【简介】在很多使用环境下,我们需要对指定国家的IP地址进行允许或禁止访问操作,例如只允许访问国内IP。以前只能手动添加IP地址对象到地址组,繁杂且效率低下,Fortinet提供了基于地理位置的IP库,就可以解决这个问题。 I…...
NX二次开发点通过云配准获取相同体
先找到体的参考方向(这个参考方向对于相同体重合之后是相同的),这个时候我们的思路是三个不共线的点确定一个坐标系,然后和绝对方向求转换矩阵。然后获取体的所有边的几何中心,把这些点通过转换矩阵转换之后存起来&…...
5.4 Android BCC环境搭建(eadb版 下)
四,BCC使用示例 这里以tcplife为例,来显示TCP会话的生命周期和吞吐量统计。 4.1 进入/bcc/tools目录 root@localhost:/bcc# cd tools/ root@localhost:/bcc/tools# ls CMakeLists.txt javacalls.sh rubystat_example.txt argdist.py javacalls_e…...
【AI视野·今日Robot 机器人论文速览 第七十四期】Wed, 10 Jan 2024
AI视野今日CS.Robotics 机器人学论文速览 Wed, 10 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Hold em and Fold em: Towards Human-scale, Feedback-Controlled Soft Origami Robots Authors Immanuel Ampomah Mensah, Je…...
服务端性能测试——性能测试工具JMeter-L1
第一遍没学懂,后续文章会更新~ 目录: 1.JMeter介绍与安装Meter简介JMeter安装2.JMeter的运行JMeter运行、界面功能简介3.使用代理服务器录制请求录制压测脚本(一)Web端脚本录制方法4.测试计划5.线程组6.控制器7.JMeter采样器/取…...
C# OpenCvSharp DNN FreeYOLO 目标检测
目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN FreeYOLO 目标检测 效果 模型信息 Inputs ------------------------- name:input tensor:Float[1, 3, 192, 320] --------------------------------------------------------------- Outp…...
U盘启动安装win11遇到缺少计算机所需的介质驱动程序问题
一、使用U盘制作启动盘遇到问题 下载了windows原版镜像,验证了md5,确保文件没有损坏。使用ultroiso制作u盘启动盘,开始安装后出现下图的报错: 在网上搜索解决方案,主要有以下几种: 安装的时候,…...
正则表达式、文件访问(Python实现)
一、主要目的: 1.了解正则表达式的基本概念和处理过程。 2.掌握使用正则表达式模块 Re 进行字符串处理的方法。 3.了解文件的基本概念和类型。 4.掌握在 Python 中访问文本文件的方法和步骤。 5.熟悉在 Python 中访问二进制文件的方法和步骤。 二、主要内容和结…...
ES高级查询
ES中提供了一种强大的检索数据方式,这种检索方式称为Query DSL,这种方式的丰富查询语法让ES检索变得更强大,更简洁。 1.常见查询 1.1查询所有[match_all] match_all关键字:返回索引中的全部文档。 GET /products/_search { &…...
RT-Thread入门笔记6-空闲线程及两个常用的钩子函数
空闲线程 空闲线程是一个比较特殊的系统线程,它具备最低的优先级。当系统中无其他就绪线程可运行时,调度器将调度到空闲线程。 空闲线程还负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作 空闲线程在形式上是一个无线循环结…...
网络正常运行时间监控工具
正常运行时间是衡量系统可靠性的指标,表示为机器工作和可用时间的百分比。当提到 IT 网络时,正常运行时间是衡量网络设备、网站和其他服务的可用性的指标。网络正常运行时间通常以百分位数来衡量,例如“五个 9”,这意味着系统在 9…...
DEJA_VU3D - Cesium功能集 之 112-获取圆节点(1)
前言 编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合,有自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小140个左右的功能,后续也会不断的追加,所以暂时打算一周2-3更的样子来更新本专栏(每篇博文都会奉上完整demo的源代码…...
Matlab 建文件夹保存本次仿真图表数据和参数
文章目录 前言代码 前言 有时候跑的仿真参数非常多,保存结果的时候需要把仿真参数和数据一起保存,为方便起见,查了一下怎么建文件夹自动保存本次仿真图表数据和参数,再也不用担心忘记结果是什么参数跑出来的了~ 代码 % 定义变量…...
@JsonFormat与@DateTimeFormat
JsonFormat注解很好的解决了后端传给前端的格式,我们通过使用 JsonFormat可以很好的解决:后台到前台时间格式保持一致的问题 其次,另一个问题是,我们在使用WEB服务的时,可 能会需要用到,传入时间给后台&am…...
半监督学习 - 自训练(Self-training)
什么是机器学习 半监督学习中的自训练(Self-training)是一种利用已标记数据和未标记数据进行模型训练的方法。以下是自训练的详细教程: 步骤一:准备数据集 标记数据集: 收集和标记一小部分数据,用于有监…...
outlook邮件群发单显技巧?群发怎么单显?
outlook邮件群发单显如何设置?QQ邮箱怎么群发单显? 在群发邮件时,如何让每个收件人只看到自己的名字,而不是其他人的名字,这就涉及到所谓的“单显”技巧。下面蜂邮EDM就为大家揭秘Outlook邮件群发单显的奥秘。 outlo…...
【REST2SQL】07 GO 操作 Mysql 数据库
【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 MySQL是一个关系型数据库管理系统…...
[UI5] ODATA V4中的CRUD
文章目录 前言一、Read二、Create三、Update四、Delete 前言 ODATA V4在CRUD方面与V2截然不同。 这篇文章简单介绍V4中是如何进行CRUD操作 一、Read Model不再有read方法, 一般是把Path绑定到View中进行读取, 如果需要额外的读取数据,可使用…...
js封装根据年月日获取星座效果demo(整理)
//根据年月日获取星座 function getZodiacSign(dateString) {// 用法:const dateStr 2024-01-11;// const zodiacSign getZodiacSign(dateStr);const date new Date(dateString);const month date.getMonth() 1;const day date.getDate();if ((month 1 && day &…...
Vue.js设计与实现阅读-2
Vue.js设计与实现阅读-2 1、前言2、框架设计的核心要素2、1 提升用户体验2、2 控制代码体积2、3 Tree-Shaking2、4 特性开关2、5 错误处理 1、前言 上一篇我们了解到了 命令式和声明式的区别,前者关注过程,后者关注结果了解了虚拟dom存在的意义&#x…...
GEM5 McPAT教程:源代码解读McPAT NoC功耗 arbiter部分
简介 McPAT用的很多,大多只是写个python或perl脚本替换xml文件.没有深入到为什么xml脚本这些值要换,以及这写填进去xml的值是怎么影响计算的.本问从源代码一步步读下来,解释每一步是如何计算的. power 构成: 动态功耗其实更相关于energy McPAT的power 核心是两类,动态和静态…...
使用组合框QComboBox模拟购物车
1.组合框: QComboBox 组合框:QComboBox 用于存放一些列表项 实例化 //实例化QComboBox* comboBox new QComboBox(this);1.1 代码实现 1.1.1 组合框的基本函数 QComboBox dialog.cpp #include "dialog.h" #include "ui_dialog.h"Dialog::Dialog…...
云服务器十大服务商——云服务器哪家好用
云服务器哪家便宜?2024最新整理你要的都在这!头部云厂商阿里云、腾讯云、华为云、京东云、UCloud等都在降价,阿腾云atengyun.com分享2024年云服务器租用价格给你惊喜! 便宜云服务器阿里云腾讯云华为云 2024年便宜云服务器汇总&…...
SQL DML
# DML—添加数据 1.给指定字段添加数据 INSERT INTO表名(字段名1,字段名2,...)VALUES(值1,值2...); 2.给全部字段添加数据 INSERT INTO表名VALUES(值1,值2,...); 3.批量添加数据 INSERT INTO表名(字段名1,字段名2,...)VALUES(值1,值2..…...
MySQL--基础篇
这里写目录标题 总览MySQl各个阶段基础篇总览 MySQL概述数据库相关概念查看本机MySQL版本号启停mysql打开windows服务管理windows命令行启停 连接mysql客户端mysql运行逻辑数据模型关系型数据库 总结 SQL总览SQL通用语法SQL语句分类DDL数据库操作表操作查询表创建表结构数据类型…...
[VUE]5-TypeScript
目录 1 TypeScript 介绍2、安装3、快速上手4、TypeScript 常用类型4.1 类型标注的位置4.2 字符串、数字、布尔类型4.3 字面量类型4.4 ⭐interface 类型4.5 class 类型 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,…...
Linux指令(一)
今天来学习Linux的一些基本的指令。 今天要学习的指令有ls,pwd,mkdir,cd,touch,rm等。 指令的格式 在Linux中,指令的语法通常遵循以下格式: command [options] [arguments] command 是要执行…...
C语言中的回文素数
任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数。求 1000 以内的所有回文素数。 算法思想 实例的重点是判断一个数是否是回文素数。要输出 1000 以内的所有回文素数,首先应判断这个数是否是素数…...
海口的网站建设/怎么学做电商然后自己创业
PDB Pluggable Database是12c中扛鼎的一个新特性, 但是对于CDB中的PDB,默认启动CDB时不会将所有的PDB带起来,这样我们就需要手动alter pluggable database ALL OPEN; 例如: SQL> shutdown immediate; Database closed. Dat…...
网站建设工作/长春seo排名外包
首先给出官网:http://echarts.baidu.com/examples/ 简单的教程:http://www.cnblogs.com/youmeng/p/4874897.html 转载于:https://www.cnblogs.com/zhubinglong/p/8678386.html...
wordpress 不能更换主题/企业网站设计欣赏
本文为瑞典查尔姆斯理工大学(作者:Erik Henriksson)的硕士论文,共76页。 本文研究了利用汽车雷达传感器对动态目标进行扩展跟踪。跟踪是基于一个360度环境感知系统的数据,该系统由四个视场重叠的雷达传感器组成。本文…...
网站链接维护怎么做/谷歌seo搜索引擎下载
iPhone的灵魂在于iOS系统,恐怕这一点只要是果粉就绝对会同意。但我们喜欢iOS系统,并不仅仅因为其强大的应用生态,也是因为苹果精益求精到了吹毛求疵地步的细节设计能力。正是因为这,一批又一批的iOS死忠才会源源不绝。甚至有些人用…...
重庆模板网站建设怎么样/网站开发公司排行榜
1.目录所示 2.在controller文件夹下创建 java文件-admin (1)请求登陆页 /*** 来登录页** return*/GetMapping("/")public String login() {return "login";}(2)post请求登陆到首页 PostMapping("inde…...
成都科技网站建设哪里有/不要手贱搜这15个关键词
DNA甲基化作为表观遗传的一种标记,在生长发育和疾病发生过程中扮演着重要角色。随着大规模甲基化研究的进行,积累了大量疾病相关的甲基化数据,DiseaseMeth就是一个保存了人类疾病相关的甲基化信息的数据库。官网地址如下http://bio-bigdata.h…...