MySQL 5.5.40自動化安裝指令碼

來源:互聯網
上載者:User

MySQL 5.5.40自動化安裝指令碼

學習了兩周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

--------------------------------------分割線 --------------------------------------

Ubuntu 14.04下安裝MySQL

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二進位安裝

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.