MySQL 5.5.40自动化安装脚本
Jun 07, 2016 pm 04:45 PM学习了两周Linux Shell脚本,终于写出一个MySQL自动化安装脚本。加上今天一整天的测试,可以正常执行安装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通用二进制安装
--------------------------------------分割线 --------------------------------------
本文永久更新链接地址:

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Gunakan ddrescue untuk memulihkan data pada Linux

Sumber terbuka! Di luar ZoeDepth! DepthFM: Anggaran kedalaman monokular yang cepat dan tepat!

Cara menggunakan fungsi penapis Excel dengan berbilang syarat

Google gembira: prestasi JAX mengatasi Pytorch dan TensorFlow! Ia mungkin menjadi pilihan terpantas untuk latihan inferens GPU

Daya hidup kecerdasan super membangkitkan! Tetapi dengan kedatangan AI yang mengemas kini sendiri, ibu tidak perlu lagi bimbang tentang kesesakan data

Kelajuan Internet Data Selular Perlahan pada iPhone: Pembetulan

Tentera Udara A.S. mempamerkan jet pejuang AI pertamanya dengan profil tinggi! Menteri secara peribadi menjalankan pandu uji tanpa campur tangan semasa keseluruhan proses, dan 100,000 baris kod telah diuji selama 21 kali.

Robot pertama yang menyelesaikan tugas manusia secara autonomi muncul, dengan lima jari fleksibel dan kelajuan manusia luar biasa, dan model besar menyokong latihan angkasa maya
