mysql自动化安装脚本

学习了两周linux shell脚本,终于写出一个mysql自动化安装脚本。加上今天一整天的测试,可以正常执行安装mysql 5.5.40. 其他版本还没有测试。现分享一下。也请高手指点一下。执行该脚本的前提是:

环境介绍:

1、redhat 6.3 x64,最小化安装

2、RAM: 2G,HD:30G

3、关闭selinux

4、配置好yum源(我使用自己配置的源)

5、打开ssh,病配置好iptables,允许远程登录访问。

6、所需软件和文件:

cmake-2.8.10.1.tar.gz

bison-3.0.tar.gz

zlib-1.2.7.tar.gz

mysql-5.5.40.tar.gz

my.cnf   //老师共享的文件

脚本内容:

#!/bin/bash

echo "step one: create folder and mount packages"

if [ -d /mnt/share ]

then

echo "find it,don‘t need to create it."

else

mkdir -p /mnt/share

if [[ $? = 0 ]]

then

echo "create it successfully!"

else

echo " can‘t create this folder!pls check out!"

fi

mount -t cifs -o username=swen02,password=autozhao01! //172.16.11.20/LAMP-all-software /mnt/share

fi

echo "step two: create mysql installation path"

if [ -d /project/class2 ]

then

echo "find it, don‘t need to create it."

else

mkdir -p /project/class2/

if [[ $? = 0 ]]

then

echo "create it successfully!"

else

echo " can‘t create this floder!pls check out!"

fi

fi

echo "step three: copy packages to the folder"

cp /mnt/share/cmake-2.8.10.1.tar.gz  /project/class2/

cp /mnt/share/bison-3.0.tar.gz  /project/class2/

cp /mnt/share/zlib-1.2.7.tar.gz  /project/class2/

cp /mnt/share/mysql-5.5.40.tar.gz /project/class2/

cp /mnt/share/my.cnf  /project/class2/

echo "step four: install base packages"

yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

cd /project/class2

tar -xzvf  cmake-2.8.10.1.tar.gz

cd cmake-2.8.10.1

./bootstrap

make && make install

if [[ $? = 0 ]]

then

echo "good job!"

else

echo "sorry, pls check out!"

exit 1

fi

cd ..

tar -zxvf bison-3.0.tar.gz

cd bison-3.0

./configure

make && make install

if [[ $? = 0 ]]

then

echo "good job!"

else

echo "sorry, pls check out!"

exit 1

fi

cd ..

tar -zxvf zlib-1.2.7.tar.gz

cd zlib-1.2.7

./configure

make && make install

cd ..

if [[ $? = 0 ]]

then

echo "good job!"

else

echo "sorry, pls check out!"

exit 1

fi

echo "step five:configure system referenc"

FLAGS="-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

echo "step six: begin to install mysql"

groupadd mysql

useradd -r -g mysql mysql

tar -zxvf mysql-5.5.40.tar.gz

cd mysql-5.5.40

cmake -DCMAKE_INSTALL_PREFIX=/project/class2/mysql

make

make install

if [[ $? = 0 ]]

then

echo "good job!"

else

echo "sorry, pls check out!"

exit 1

fi

cd ..

#create folder and initial new db

mkdir ./mysql/run

mkdir ./mysql/log

chown -R mysql.mysql /project/class2/mysql

rm -rf /project/class2/mysql/data/*

./mysql/scripts/mysql_install_db --datadir=/project/class2/mysql/data --user=mysql --basedir=/project/class2/mysql

#modify my.cnf and copy new one

sed ‘s/default-character-set=gbk/default-character-set=utf8/‘ my.cnf | sed ‘s/skip-ssl/#skip-ssl/‘ >./mysql/my.cnf

chown -R mysql.mysql /project/class2/mysql/my.cnf

#creat ln

ln -s /project/class2/mysql/run/mysql.sock /tmp/mysql.sock

mv /root/.bash_profile /root/.bash_profile.bak

/bin/sed ‘/export PATH/i\export PATH="$PATH":/project/class2/mysql/bin/‘ /root/.bash_profile.bak >/root/.bash_profile

#start mysql service

./mysql/bin/mysqld_safe --defaults-file=/project/class2/mysql/my.cnf &

#waitting for service to be started

signal=0

while [[ "$signal" = 0 ]]

do

if [ -z " `grep ‘Source distribution‘  /project/class2/mysql/log/alert.log`" ]

then

echo "not found it"

sleep 30

else

echo "found it"

let signal+=1

fi

done

#logout and relogin, new PATH will be  take effect.

kill -9 $PPID

时间: 2024-10-06 00:10:48

mysql自动化安装脚本的相关文章

mysql自动化安装脚本开发

最近正好有空闲时间进行mysql自动安装脚本开发,预计先用shell实现一个版本,后续继续用python改造开发,最终实现python版本的开发. 2019-3-18,完成shell脚本的mysql自动化安装脚本的开发与调试.信息如下:mysql版本为5.6.43,通过shell函数的方式实现数据安装的3个阶段,再加上一个全局阶段,共4个阶段 1.全局阶段通过if [ $(id -u) != "0" ]判断当前操作用户是否为root,如不等0,则提示用户使用root用户执行该脚本,实现

自动化安装脚本

Nginx自动化安装脚本: #!/bin/bash #install nginx-1.10.2 #installation directory INSTALL_DIR=/usr/local SRC_DIR=/usr/local/src [ ! -d ${INSTALL_DIR} ] && mkdir -p ${INSTALL_DIR} [ ! -d ${SRC_DIR} ] && mkdir -p ${SRC_DIR} # Check if user is root if

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

nagios监控端自动化安装脚本

背景:公司需求,部署nagios监控系统,多台服务器部署时,会有重复工作,干脆写成脚本,自动化安装,希望能帮到大家. 脚本内容: #!/bin/bash #Filename:nagios.sh setenforce 0  #需要关闭selinux, yum install -y http php php-mysql mysql mysql-devel mysql-server   #安装http.php和mysql,如果已安装,也无妨 cd /tmp   #我的软件包安装在了tmp目录下,这个可

mysql自动化安装

MySQL安装一般使用RPM或者源码安装的方式.RPM安装的优点是快速,方便.缺点是不能自定义安装目录.如果需要调整数据文件和日志文件的存放位置,还需要进行一些手动调整.源码安装的优点是可以自定义安装目录,缺点是编译时间长,过程复杂 其实还有一种方式,定制RPM包.它相当于用源码安装的方式定制了一个RPM包.一次打包,可以多次使用它可以定制路径,安装时自动创建帐号,自动配置服务,环境变量等,并且安装过程快速,简单.在大规模部署的场景下,优点十分突出.缺点是制作RPM包,需要自己编写Red Hat

hadoop-2.4.0-x64+hive-1.2.1+Zookeeper-3.4.5+Hbase-0.98.21自动化安装脚本

参考资料:Hadoop2.3.0详细安装过程开源中国git: https://git.oschina.net/lucky110100/sloth.git 你没看错,这就是2.4.0版本的安装脚本,虽然参考的是2.3.0的. 安装环境:虚拟机软件: VirtualBox-4.3.8-92456-Win.exe虚拟机系统: CentOS-6.5-x86_64-bin-DVD1.iso,64位,分配1CPU,2G内存Hadoop版本: hadoop-2.4.0-64bit.tar.gz 下载Nginx

Redis自动化安装脚本

redis自动安装脚本: 安装目录:/usr/local/redis 二进制文件:/usr/local/bin 配置文件:/usr/local/redis/etc,配置文件自己根据自身的业务去配置,这里只是一个空文件. 日志文件:/usr/local/redis/logs 数据文件:/usr/local/redis/dump #!/bin/bash Soft_dir="/home/tools" Download_URL="http://download.redis.io/re

Vsftp 自动化安装脚本

最近安装vsftp的 需求越来越多,自己弄了一个vsftp的安装脚本,确实很方便节约了不少时间. 好了直接上脚本内容:     vi install_vsftpd.sh           #!/bin/bash     # Remove=>Download=>Install=>Configure=>Start service "vsftpd"     #     # /usr/bin/yum => #!/usr/bin/python2.4        

常用模块自动化安装脚本

python_mod_install.sh #!/bin/bash # 1.安装客户端 #wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz tar zxvf redis-2.9.1.tar.gz cd redis-2.9.1/ python setup.py install cd .. mysql_python.sh #!/bin/bash #pip install MySQL-python tar x