rpmbuild打包mysql5.7_用rpmbuild打包mysql
Name:mysqlVersion:5.5.25Release:1%{?dist}License:GPLGroup:applications/databaseURL:http://www.percona.com/redir/downloads/Percona-Server-5.6/LATEST/so
Name: mysql
Version:5.5.25
Release: 1%{?dist}
License: GPL
Group: applications/database
URL:
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: cmake
Requires: coreutils,shadow-utils
Packager: lgl15984@163.com
Autoreq: no
Source: mysql-5.5.25.tar.gz
prefix: /usr/local/%{name}
Summary: percona server 5.6.19-67.0
%description
Percona Server is an enhanced, drop-in MySQL replacement which has been downloaded more than 1,000,000 times.
A free open source solution, Percona Server is a MySQL alternative which offers breakthrough performance, scalability, features, and instrumentation. Self-tuning algorithms and support for extremely high-performance hardware make it the clear choice for organizations that demand excellent performance and reliability from their MySQL database server.
%define MYSQL_USER mysql
%define MYSQL_GROUP mysql
%define __os_install_post %{nil}
%prep
%setup -n %{name}-%{version}
%build
CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
CXX=g++
CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
export CFLAGS CXX CXXFLAGS
cmake . \
-DSYSCONFDIR:PATH=%{prefix} \
-DCMAKE_INSTALL_PREFIX:PATH=%{prefix} \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=0 \
-DWITH_DEBUG=0 \
-DENABLE_DTRACE=0 \
-DEXTRA_CHARSETS=all \
-DWITH_INNODB_MEMCACHED=1;
make -j `cat /proc/cpuinfo | grep processor| wc -l`
%install
rm -rf %{buildroot}
make DESTDIR=$RPM_BUILD_ROOT install
cp %{_sourcedir}/my.cnf $RPM_BUILD_ROOT%{prefix}/
%clean
#rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/*
%files
%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP})
%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/*
%pre
if ! id %{MYSQL_USER} > /dev/null 2>&1;then
useradd -M -s /sbin/nologin %{MYSQL_USER}
fi
mkdir -p /data/{mysql1,mysql2,mysql3,mysql4,mysql5}
chown -R mysql:mysql /data/{mysql1,mysql2,mysql3,mysql4,mysql5}
mkdir /usr/local/mysql
%post
if [ -f %{prefix}/support-files/mysql.server > /dev/null 2>&1 ] && [ ! -f %{_initddir}/mysql > /dev/null 2>&1 ];then
cp %{prefix}/support-files/mysql.server %{_initddir}/mysql
chmod +x %{_initddir}/mysql
chkconfig --level 2345 %{_initddir}/mysql on
fi
#ln -s /usr/local/mysql/bin/* /usr/bin
#cp -rf /usr/local/mysql/lib/* /lib/
#cp -rf /usr/local/mysql/lib/* /lib64/
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql1 --user=mysql >/dev/null 2>&1
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql2 --user=mysql >/dev/null 2>&1
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql3 --user=mysql >/dev/null 2>&1
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql4 --user=mysql >/dev/null 2>&1
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql5 --user=mysql >/dev/null 2>&1
/usr/local/mysql/bin/mysqld_multi start 1-5
if [ ! -f %{_sysconfdir}/my.cnf ];then
cp %{prefix}/my.cnf %{_sysconfdir}/my.cnf
else
cp %{prefix}/my.cnf %{_sysconfdir}/my.cnf.rpmnew
fi
%preun
if [ -f %{_sysconfdir}/my.cnf ];then
mv %{_sysconfdir}/my.cnf %{_sysconfdir}/my.cnf.rpmold
fi
if [ -f %{_initddir}/mysql ];then
mv %{_initddir}/mysql %{_initddir}/mysql.rpmold
fi
%postun
rm -rf %{prefix}
#userdel -r %{MYSQL_USER} >/dev/null 2>&1
%changelog,
rpmbuild打包mysql5.7_用rpmbuild打包mysql相关推荐
- 项目打包rpm包(rpmbuild)
这里以python项目为例,通过rpmbuild工具打包成rpm包,并进行安装验证 rpmbuild打包 rpm流程 构建rpmbuild打包目录 rpmbuild 默认变量配置文件 将我们的pyth ...
- Py打包应用程序(zipapp打包.pyz文件、pyinstaller打包exe文件)
''' Py打包应用程序.py (zipapp打包.pyz文件.pyinstaller打包exe文件)注意: 一.zipapp模块 打包档案包 的 命令行语法: python -m zipapp so ...
- linux的文件压缩打包操作,Linux文件管理-压缩打包
原标题:Linux文件管理-压缩打包 压缩打包介绍 windows下我们接触最多的压缩文件就是.rar格式, 但Linux有自己所特有的压缩工具. 如果希望windows和Linux互相能使用的压缩工 ...
- webpack打包php资源,webpack不打包指定的js文件
背景: 在项目实际开发中,有一些IP地址需要随时修改,进行部署,例如websocket的地址.因此在项目打包的时候,不希望保持IP地址的文件被打包,因此就需要把需要修改的常量独立出来,存放在一个js文 ...
- python打包发布到手机_Python打包操作与在线发布
打包操作: 1.安装打包工具 2.在包文件中,添加构建模块 setup.py 在构建模块中,添加项目描述信息 from distutils.core import setup setup( name= ...
- js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...
使用hbuilder打包人人商城app 方法支持微信支付宝原生支付 介绍 人人商城打包使用hbuilder打包app需要的文件,目前支持微信原生支付,支付宝原生支付,原生退出app ,还没有写分享和原 ...
- linux++tar打包目录,linux中tar命令打包目录与排除目录打包linux操作系统 -电脑资料...
本文章来给各位朋友详细介绍关于linux中tar命令打包目录与排除目录打包有需要了解tar命令的使用方法的朋友可进行参考参考, 打包压缩目录很简单如下代码如下复制代码 tar -czf small.t ...
- java项目打成jar和war_maven打包web项目时同时打包为war和jar文件的方法
本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下: 首先在pom.xml文件中指定war的打包方式,war test test war 上述代码在eclip ...
- iOS打包framework - Swift完整项目打包Framework,嵌入OC项目使用
场景说明: -之前做的App,使用Swift框架语言,混合编程,内含少部分OC代码. -需要App整体功能打包成静态库,完整移植到另一个App使用,该App使用OC. -所以涉及到一个语言互转的处理, ...
最新文章
- 普通平键的主要尺寸有_快来收下这份家装尺寸表,衣柜不再鸡肋
- windows phone 学习之页面导航和数据传递
- 很好的大数据名词解释,收藏
- 大四实习有点晚[转载]
- 利用百度LBS做一个小Demo
- 如何将对象中的内容按照一定的顺序进行排序
- ActiveMQ学习总结(8)——消息队列设计精要
- (227)FPGA学习基础
- Liferay中配置MySQL数据库的两种方法
- Cocos2d-x特殊节点对象(瓦片地图、粒子系统、视差滚动)概述
- 中卫市地图arcgis数据shp道路地名县区边界水系2021年(下载说明)
- ubuntu 文件名乱码
- [20170209]索引范围访问2.txt
- SAP 财务替代(基本内容及常用财务替代配置涉及退出提供源代码)
- 跳槽遇到背景调查,你可以这样做!
- 一个比较有趣的题:推算今天星期几
- Transformer Decoder
- ES性能优化原理揭秘!初看一脸懵逼,看懂直接跪下。。。
- 冬季到吉林来玩雪|史上最全的吉林冬季旅游攻略!
- Kali linux 学习笔记(三十一)无线渗透——密钥交换(PTK)2020.3.11