我的编程空间,编程开发者的网络收藏夹
学习永远不晚

制作MySQL RPM安装包Spec

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

制作MySQL RPM安装包Spec

制作MySQL RPM安装包Spec

适用环境:

数据库版本:MySQL 5.7.26
操作系统:CentOS 7 

 

制作思路:

将数据库初始化和配置工作放到安装脚本中方便定制:
1、打包MySQL应用目录
2、不自动生成配置文件
3、不自动生成数据目录
4、不自动初始化数据

 

Spec代码:

# ========================================= #
# MySQL参数配置
# mysql源码路径
# 源码包版本
%global class="lazy" data-src_base              mysql
%global version                  5.7.26
%global class="lazy" data-src_dir               %{class="lazy" data-src_base}-%{version}
%global cmake_bin              /home/rpmbuilder/cmake-3.16.2-Linux-x86_64/bin/cmake

Name:        %{class="lazy" data-src_base}
Version:    %{version}

# 安装版本
Release:    1

# 安装包介绍
Summary:    MySQL Server        

# 遵循协议
License:    GPLv2

# 打包需要
# BuildRequires:  cmake /sbin/useradd /sbin/groupadd /bin/bash /bin/sh /bin/chown

# 安装需要
# Requires:    ncurses ncurses-devel pcre numactl-libs numactl bison libaio libaio-devel

# 安装的虚拟环境,在rpmbuild/BUILDROOT目录下
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-XXXXXX)


# Sorce信息
Source0:        %{name}-%{version}.tar.gz
Source10:       boost_1_59_0.tar.bz2
Source90:       filter-provides.sh
Source91:       filter-requires.sh



%if 0%{?rhel} > 6
# For rpm => 4.9 only: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%global __requires_exclude ^perl\((GD|hostnames|lib::mtr|lib::v1|mtr_|My::)
%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so)$
%else
# https://fedoraproject.org/wiki/EPEL:Packaging#Generic_Filtering_on_EPEL6
%global __perl_provides %{SOURCE90}
%global __perl_requires %{SOURCE91}
%endif


# mysql安装目录
%define     mysql_server_path     /data0/software/mysql/server
# mysql数据目录
%define     mysql_data_path     /data0/software/mysql/data

%define     MYSQL_USER             mysql 
%define     MYSQL_GROUP         mysql 

# mysql配置文件目录
%define        mysql_conf_path        /data0/software/mysql/server/etc/my.cnf

# mysql描述
%description
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, 
and robust SQL (Structured Query Language) database server. MySQL Server 
is intended for mission-critical, heavy-load production systems as well 
as for embedding into mass-deployed software. 
 
 
 
# ========================================= #
# 环境准备
%prep
rm -rf $RPM_BUILD_ROOT/%{name}-%{version}
# setup把boost和mysql压缩包解压到下面路径
# ./rpmbuild/BUILD/mysql-5.7.28/mysql-5.7.28/
# ./rpmbuild/BUILD/mysql-5.7.28/boost_1_59_0/

%setup -q -T -a 0 -a 10 -c -n %{class="lazy" data-src_dir}

groupadd %{MYSQL_GROUP} >/dev/null 2>&1 || :
useradd -g %{MYSQL_GROUP} %{MYSQL_USER} -s /bin/nologin >/dev/null 2>&1 || :


# ========================================= #
# 编译
%build
%{cmake_bin} ./%{class="lazy" data-src_dir} 
-DCMAKE_INSTALL_PREFIX=%{mysql_server_path} 
-DMYSQL_DATADIR=%{mysql_data_path} 
-DSYSCONFDIR=%{mysql_server_path}/etc 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DMYSQL_UNIX_ADDR=%{mysql_data_path}/tmp/mysql.sock 
-DMYSQL_TCP_PORT=3306 
-DMYSQL_USER=mysql 
-DWITH_MYISAM_STORAGE_ENGINE=1 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DENABLE_DOWNLOADS=1 
-DDOWNLOAD_BOOST=1 
-DWITH_BOOST=.

make -j3 %{?_smp_mflags}

# ========================================= #
# 安装
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install

# ========================================= #
# 制作RPM包
%files 
%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP}) 
%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{mysql_server_path}/* 

%changelog

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

制作MySQL RPM安装包Spec

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

制作MySQL RPM安装包Spec

适用环境:数据库版本:MySQL 5.7.26操作系统:CentOS 7  制作思路:将数据库初始化和配置工作放到安装脚本中方便定制:1、打包MySQL应用目录2、不自动生成配置文件3、不自动生成数据目录4、不自动初始化数据 Spec代码:# ========
制作MySQL RPM安装包Spec
2016-05-28

Centos打包tengine制作rpm安装包的步骤

这篇文章主要介绍“Centos打包tengine制作rpm安装包的步骤”,在日常操作中,相信很多人在Centos打包tengine制作rpm安装包的步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Cento
2023-06-13

MySQL使用rpm包安装

MySQL使用rpm包安装 安装 下载mysql rpm 安装包 。选择对应的操作系统版本 官网地址 下载对应的rpm包 mysql-community-common-5.7.29-1.el7.x86_64.rpmmysql-communi
2023-08-22
2023-09-11

mysql rpm包安装后怎么使用

安装MySQL RPM包后,您可以通过以下步骤来使用MySQL:启动MySQL服务:使用以下命令来启动MySQL服务:sudo systemctl start mysqld设置MySQL开机自启动:使用以下命令来设置MySQL开机自启动:s
mysql rpm包安装后怎么使用
2024-05-14

python包安装及安装包制作

1. 单文件模块:直接把文件拷贝到$python_dir/lib  这是类库目录(可直接将单文件或单包放在这里)2. 多文件模块,带setup.py:python setup.py install    卸载时只能手动删除,一般安装在系统类
2023-01-31

mysql rpm包安装的方法是什么

要在Linux系统上安装MySQL RPM包,可以按照以下步骤操作:下载MySQL的RPM包:你可以从MySQL官方网站下载适用于你的Linux发行版的MySQL RPM包。安装MySQL RPM包:使用以下命令安装MySQL RPM包:s
mysql rpm包安装的方法是什么
2024-05-14

12 制作安装包

制作安装包的步骤如下:1. 确定安装包的需求和目标:首先确定需要制作的安装包的功能和用途,例如是为了安装一个软件、游戏、驱动程序还是其他应用程序。2. 收集所需文件:收集需要包含在安装包中的所有文件,包括可执行文件、库文件、配置文件、图标和
2023-09-06

Centos下rpm包怎么制作

这篇文章主要介绍Centos下rpm包怎么制作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下面简单介绍下rpm的制作:以cronolog为例:首先下载cronolog的源码包。解开源码包,tar xzvf cron
2023-06-10

rpm命令手册和查看rpm安装包安装路径的操作方法

rpm命令手册和查看rpm安装包安装路径的操作方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。rpm -qpl xxxxxx.rpm 1.如何安装rpm软件包 rmp软件
2023-06-13

Linux中RPM包的安装和查询操作

这篇文章主要介绍“Linux中RPM包的安装和查询操作”,在日常操作中,相信很多人在Linux中RPM包的安装和查询操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中RPM包的安装和查询操作”的疑
2023-06-09

在Linux系统中通过rpm包安装MySQL

操作系统:CentOS 7MySQL版本:5.7.29通过rpm包方式安装就像去服装店买衣服,衣服的大小、颜色等样式都是设计好的,我们只要买来就能穿,方便快捷。一、下载rpm包打开MySQL官网的下载页面:https://downloads.mysql.com
在Linux系统中通过rpm包安装MySQL
2016-07-15

编程热搜

目录