#!/bin/bash
datadir="/mydata/data"
sqlconf=/etc/mysql
installdir=/usr/local/mysql
# 关于安装包大家可以去官网下载,注意下载通用二进制格式的 ,然后放在ftp服务器上即可
# 此处假设我把mariadb5.5的安装包放在了ftp上的/pub/Sources/6.x86_64/mariadb下面
case $1 in
36)package=mariadb-5.5.36-linux-x86_64.tar.gzdir=mariadb-5.5.36-linux-x86_64wget lftp 172.16.0.1:/pub/Sources/6.x86_64/mariadb/$package;;
40)package=mariadb-5.5.40-linux-x86_64.tar.gzdir=mariadb-5.5.40-linux-x86_64wget lftp 172.16.0.1:/pub/Sources/6.x86_64/mariadb/$package;;
*)echo "Usage /bin/bash `basename $0` 36|40"exit 1
esac#echo 'get mariadb-5.5.36-linux-x86_64.tar.gz
#bye ' | lftp 172.16.0.1:/pub/Sources/6.x86_64/mariadbtar xf ${package} -C /usr/local
cd /usr/local
# 为其创建链接mysql方便以后管理
ln -s ${dir} mysql
cd ${installdir}
#创建mysql系统用户
if ! id mysql &> /dev/null; thenuseradd -r mysql
fi
# 创建数据文件目录
if [ ! -d ${datadir} ]; thenmkdir -pv ${datadir} &> /dev/nullchown -R mysql:mysql ${datadir}
fi
# 初始化mariadb
cd ${installdir}
scripts/mysql_install_db --user=mysql --datadir=/mydata/data &> /dev/null
# 为mariadb添加配置文件
if [ ! -d ${sqlconf} ]; thenmkdir -p /etc/mysql &> /dev/null
fi
cd ${installdir}
cp support-files/my-large.cnf /etc/mysql/my.cnf
sed -i '/^thread_ca/a \datadir = /mydata/data \ninnodb_file_per_table = on \nskip_name_resolve = on' /etc/mysql/my.cnf
# 为mariadb添加服务脚本
cp ${installdir}/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
# 添加mariadb命令至PATH环境变量
echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
# 添加man手册
sed -i '/^MAN.*\/usr\/man/a MANPATH /usr/local/mysql/man/' /etc/man.config
echo 'The mariadb has installed successfully'
echo 'Please exect ". /etc/profile.d/mysql.sh" to update PATH'

转载于:https://blog.51cto.com/wangjingshuai/1613544

SHELL脚本之自动化安装通用二进制格式MariaDB相关推荐

  1. mariadb通用二进制格式安装

    一.MariaDB安装介绍: 对于通用二进制格式的包,我们只需要解压缩后就能够使用数据库,听起来很容易,但必须要注意一些问题.二进制 格式的程序包是已经编译好的二进制程序,所以里边有很多脚本都是在固定 ...

  2. 编写shell脚本实现自动化搭建安装LNMP平台全过程配置详解

    注意:如果是输入的是字母的或者是输入等于0时,则会出现以下两种情况!!! 查看端口: 进到Nginx根目录查看创建好的测试网页: 注意:关闭防火墙或者设置防火墙规则!!! 访问Nginx网页: 访问P ...

  3. shell脚本实现自动化备份

    shell脚本实现自动化备份 1.备份规则: 在生产环境中有若干服务器需要定时将服务器中应用程序,以及数据库等进行备份.要求在本地服务器中保存近一周的备份,备份服务器中保存最近一月的备份文件.     ...

  4. python编写自动化脚本 与shell_脚本安装Discuz论坛(shell + Python 实现自动化安装)...

    实验环境 1.shell 脚本:linux centos 7 系统 2.Python shell 脚本:window 系统 3.其他:python selenium 模块,谷歌浏览器, 谷歌浏览器驱动 ...

  5. shell运行python脚本报错没有包_脚本安装Discuz论坛(shell + Python 实现自动化安装)...

    实验环境 1.shell 脚本:linux centos 7 系统 2.Python shell 脚本:window 系统 3.其他:python selenium 模块,谷歌浏览器, 谷歌浏览器驱动 ...

  6. python代替shell脚本_自动化shell脚本except与python的pexpect模块

    expect脚本 expect是什么 expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预.说白了,expect就是一套用来实现自动交互功能的软件. 在实际工作中,我们运行命令. ...

  7. 释放linux缓存文件命令,Linux定时释放缓存Shell脚本实现自动化运维 | kTWO-个人博客...

    使用Linux服务器的用户应该都知道,Linux在使用的时候,可用内存会随着时间慢慢的变小,最终可能到80%-90%,这个时候就需要我们去人工干预,来进行魂村的释放. 本文将使用Linux的Cron定 ...

  8. xml配置linux启动脚本,linux中利用Shell脚本实现自动安装部署weblogic服务

    身在物流行业,临近618和双十一,都需要进行系统压力测试,今年也不例外.这个时候需要随时切换自己开发和压测的身份,一面要完成新需求的开发任务,另一面要完成压测任务:虽然4月刚开始,但是压测任务已经排上 ...

  9. shell脚本(五)——函数的格式、传参、变量、递归、函数库

    shell脚本(五)--函数 一.shell函数定义 二.格式 1.格式一: 2.格式二: 三.函数返回值 四.函数传参 五.函数变量的作用范围 六.递归 1.阶乘 2.递归查目录 七.创建函数库 一 ...

最新文章

  1. Zookeeper 的学习与运用
  2. 【ASP】Menu菜单导航
  3. Redis快的原因:内存操作 单线程没有切换开销 多路复用IO
  4. intouch负值显示0_excel表格数据为负值取0-在EXCEL表格中怎么把负数显示为0?公式怎么设置?...
  5. echarts横轴展示不全使用滚动条(dataZoom)的方法
  6. react-native 之 redux 与 react-redux
  7. CVPR 2020放榜,录取率降至22%,港中文周博磊发文感慨十年变迁
  8. 八、Linux文本编辑器vim/vi
  9. 安卓微信打开的文档存放在哪里
  10. linux xampp使用教程,CentOS下安装XAMPP详细教程(学习记录使用)
  11. matlab帧差法图像识别
  12. Java笔记(韩顺平Java基础15-20章)
  13. bzoj 4453: cys就是要拿英魂!(后缀数组+二分)
  14. SQL SERVER 远程主机强迫关闭一个现有连接
  15. 通过关键字查询地理坐标(天地图)
  16. Matplotlib画论文图之loss和validation曲线
  17. 天通手机卫星电话、天通卫星系统终端、SRRC、型号核准、CTA、进网许可
  18. 腾讯云轻量应用服务器一键搭建Discuz Q
  19. 谷歌浏览器为什么推荐使用搜狗搜索?知乎网友的脑回路真是……
  20. 信号间隔是什么意思_地铁信号里的行车闭塞是啥意思?

热门文章

  1. Codeforces 295A. Greg and Array
  2. Android类参考---Fragment(五)
  3. Android 2.2 带来全新拍照增强特性
  4. 测试你的杀毒软件实时监控能力!
  5. 解决eclipse出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  6. Dockerfile文件详解
  7. vue —— vuex namespaced模块化编码
  8. Vue自定义组件——非单文件组件
  9. java数组为什么可以迭代吗_在迭代2D数组时,为什么循环的顺序会影响性能?
  10. CentOS 7设置开机启动服务,添加自定义系统服务(Redis为例,绝对有效)