增加用户:

# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /data/my_db mysql

源码安装mysql-5.6.33.tar.gz 初始代数据库

[root@c01 mysql-5.6.33]# cp /apps/mysql-5.6.33/support-files/mysql.server /etc/init.d/mysqld

[root@c01 mysql-5.6.33]# chmod 777 /etc/init.d/mysld
修改以下内容
basedir=/apps/mysql-5.6.33
datadir=/data/my_db
# Set some defaults
mysqld_pid_file_path=/data/my_db/mysqld.pid [root@c01 mysql-5.6.33]# ln -sv /apps/mysql-5.6.33/include /usr/include/mysql
`/usr/include/mysql' -> `/apps/mysql-5.6.33/include' [root@c01 mysql-5.6.33]# /apps/mysql-5.6.33/scripts/mysql_install_db --datadir=/data/my_db --user=mysql
[root@c01 mysql-5.6.33]# echo '/apps/mysql-5.6.33/lib' >/etc/ld.so.conf.d/mysql-x86_64.conf
[root@c01 mysql-5.6.33]# ldconfig
[root@c01 mysql-5.6.33]# echo 'export PATH=/apps/mysql-5.6.33/bin/:$PATH' >/etc/profile.d/mysql.sh
[root@c01 mysql-5.6.33]# source /etc/profile
[root@c01 mysql-5.6.33]# mv /etc/init.d/mysld /etc/init.d/mysqld [root@c01 tmp]# fpm -s dir -t rpm -v 5.6.33 -n mysql --before-install /tmp/before.sh --after-install /tmp/after.sh --after-remove /tmp/remove.sh -d 'libaio' /apps/mysql-5.6.33/ /data/my_db/ /etc/init.d/mysqld
no value for epoch is set, defaulting to nil {:level=>:warn}
no value for epoch is set, defaulting to nil {:level=>:warn}
Created package {:path=>"mysql-5.6.33-1.x86_64.rpm"}

下面是所需要的脚本:

# cat /tmp/after.sh
#!/bin/bash
ln -sv /apps/mysql-5.6.33/include /usr/include/mysql
echo '/apps/mysql-5.6.33/lib/' > /etc/ld.so.conf.d/mysql.conf
ldconfig
echo 'export PATH=/apps/mysql-5.6.33/bin/:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile
chown -R mysql:mysql /data/my_db
echo "[mysqld]
basedir=/apps/mysql-5.6.33
datadir=/data/my_db
port=3306
socket=/data/my_db/mysql.sock
user=mysql
innodb_file_per_table=on
skip_name_resolve=on
symbolic-links=0
init-connect='SET NAMES utf8'
character-set-server=utf8
max_connections=5000
max_connect_errors=100000
[mysqld_safe]
log-error=/data/my_db/mysqld.log
pid-file=/data/my_db/mysqld.pid
[client]
socket=/data/my_db/mysql.sock
" >/etc/my.cnf
# cat /tmp/before.sh
#!/bin/bash
#创建mysql数据存储目录
if [ ! -d /apps/mysql-5.6.16 ];then
mkdir /apps/mysql-5.6.16 -p
fi
if [ ! -d /data/my_db ];then
mkdir /data/my_db -p
fi
#创建mysql用户
groupadd -r mysql
useradd -g mysql -r -s /sbin/nologin -M -d /data/my_db mysql
#
if [ -f /etc/ld.so.conf.d/mysql-x86_64.conf ];then
rm -rf /etc/ld.so.conf.d/mysql-x86_64.conf
fi
# cat /tmp/remove.sh
#!/bin/bash
userdel -r mysql
if [ -f /etc/ld.so.conf.d/mysql.conf ];then
rm -rf /etc/ld.so.conf.d/mysql.conf
fi
if [ -f cat /etc/profile.d/mysql.sh ];then
rm -rf cat /etc/profile.d/mysql.sh
fi

fpm制做mysql-5.6.33 rpm包的更多相关文章

  1. CentOS7安装MySQL的方法之RPM包方式

        CentOS7安装MySQL的方法之RPM包方式        

  2. Linux 安装 MySQL 详解(rpm 包)

    说明:Linux 系统中软件的安装在 root 用户下进行,此安装方式为 rpm 包方式,安装的版本为:MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle. ...

  3. mysql之各版本rpm包安装

    发现每次想用mysql的rpm包直接安装的时候,都会出现找不到对应的rpm包的情况,故记录一下查找过程 进入官网->downloads->community->mysql commu ...

  4. 在centos使用rpm包的方式安装mysql,以及更改root密码

    在centos使用rpm包的方式安装mysql,对于centos官方实际推荐使用yum进行安装,下载安装的方式主要用于内网服务器不能连接外网yum源的情况. 下载包 首先根据centos版本在mysq ...

  5. MySQL在linux上的rpm包方式安装方法

    1.下载上传mysql server和client rpm包: [root@faspdev mnt]# ls MySQL-client-5.5.53-1.el6.x86_64.rpm MySQL-se ...

  6. MySQL使用RPM包方式安装

        CentOS7安装MySQL的方法之RPM包方式        

  7. 制做rpm包工具fpm安装

    安装ruby模块 [root@c01 ~]# yum install ruby rubygems ruby-devel -y # 查看当前使用的rubygems仓库 [root@c01 ~]# gem ...

  8. zabbix安装及配置(rpm包安装mysql,php,apache,zabbix)

    zabbix安装及配置 一.安装mysql.php.apache.zabbix 安装环境: 操作系统:rhel6.3-x86-64  mysql:5.6.23   --官网下载rpm包安装php:5. ...

  9. FPM定制RPM包实践

    1.1 快速部署方案 ✔ 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 ...

随机推荐

  1. redis实现简单的分布式锁

    在分布式系统中多个请求并发对少数资源进行争抢,例如10个人同时秒杀一件商品,如果不用分布式的锁进行处理(当然还有其它的处理方案),则很容易出现多个人抢到一个商品(超卖)的情况,用redis可以比较容易 ...

  2. NotesDocument 作为函数返回值的问题

    如下代码 Set recipientDoc = getDocInNAB(“search string”) If Not recipientDoc Is Nothing Then ‘In debug I ...

  3. mysql字符生命周期

    mysql的字符集,对数据的导入导出很关键,明白自己集在不同阶段不同场景下的意义即为重要! 01.查看mysql当前字符集 show variables like '%cahr%'; 02.用户请求m ...

  4. 转:Linux网卡驱动程序编写

    Linux网卡驱动程序编写 [摘自 LinuxAID] 工作需要写了我们公司一块网卡的Linux驱动程序.经历一个从无到有的过程,深感技术交流的重要.Linux作为挑战微软垄断的强有力武器,日益受到大 ...

  5. win32获取浏览器当前Tab的URL

    代码都是win10上测试的 1. 获取IE的URL,Enum IE窗口的子句柄,找到className为Edit的句柄,然后用SendMessage WM_GETTEXT消息来获取: 上代码: #in ...

  6. iOS presentedViewController和presentingViewController的区别

    当我们用present进行界面跳转时,会涉及到一个传向关系. 比如:A -> B    界面A跳转界面B A.presentedViewControlle = B B.presentingVie ...

  7. python中的struct模块

    struct模块用于将python中的对象转化为bytes. 举例 demo1:将int转换为bytes buf1 = 256 bin_buf1 = struct.pack('i', buf1) # ...

  8. Redis 学习之路 (010) - redis命令手册

    Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...

  9. 【JQuery】事件冒泡及使用jQuery阻止

    (1)什么是事件起泡 首先你要明白一点,当一个事件发生的时候,该事件总是有一个事件源,即引发这个事件的对象,一个事件不能凭空产生,这就是事件的发生. 当事件发生后,这个事件就要开始传播.为什么要传播呢 ...

  10. Postman 网络调试工具

    1.Postman 简介 Postman 是一款功能强大的网页调试与发送网页 HTTP 请求的工具.我们可以用来很方便的模拟 get 或者 post 或者其他方式的请求来调试接口. 官网下载地址 Po ...