您的位置:首页 > 运维架构 > Shell

shell之安装MySQL

2015-12-15 17:06 507 查看
#!/bin/bash
#by LC
TOOLSDIR=/application/tools
INSTALLDIR=/application
CMAKEFILE=$TOOLSDIR/cmake-3.2.2
CMAKETAR=$TOOLSDIR/cmake-3.2.2.tar.gz
MYSQLFILE=$TOOLSDIR/mysql-5.5.32
MYSQLTAR=$TOOLSDIR/mysql-5.5.32.tar.gz
INSTALLMYSQL=$INSTALLDIR/mysql-5.5.32
DATADIR=/application/mysql-5.5.32/data
SOCKDIR=/application/mysql-5.5.32/tmp/mysql.sock
. /etc/init.d/functions
panduan (){
if [ $? -eq 0 ]
then
action " $1 " /bin/true
else
action " $1 " /bin/false
exit 1
fi
}
function checkMySQLDir(){
[ ! -d $TOOLSDIR ] && mkdir -p $TOOLSDIR

}
function checkMySQLtar(){
if [ -n $MYSQLTAR ]
then
echo '#########################################################################'
echo ' PLEASE DO THIS "Download MySQL in this directory---/application/tools/"'
echo '#########################################################################'
exit 1
fi
#http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.44.tar.gz
#http://mirror.yandex.ru/mirrors/ftp.mysql.com/Downloads/MySQL-5.5/mysql-5.5.44.tar.gz
#http://files.directadmin.com/services/all/mysql/mysql-5.5.44.tar.gz
#https://downloads.mariadb.com/archives/mysql-5.5/mysql-5.5.44-linux2.6-x86_64.tar.gz
#http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.44.tar.gz
if [ -n $CMAKETAR ]
then
echo '#########################################################################'
echo ' PLEASE DO THIS "Download cmake in this directory---/application/tools/"'
echo '#########################################################################'
exit 1
fi
#wget http://www.cmake.org/files/v3.3/cmake-3.3.0.tar.gz }
function checkMySQLUser(){
if [ `cat /etc/passwd|grep mysql|wc -l` -eq 0 ]
then
useradd mysql -s /sbin/nologin -M
fi
}
function InstallMySQL(){
cd $TOOLSDIR &&\
yum install ncurses-devel libaio-devel -y &&\
tar xf $CMAKETAR &&\
cd $CMAKEFILE &&\
./configure  &&\
gmake &&\
gmake install &&\
cd ../ &&\
tar xf $MYSQLTAR &&\
cd $MYSQLFILE &&\
cmake . -DCMAKE_INSTALL_PREFIX=$INSTALLMYSQL \
-DMYSQL_DATADIR=$DATADIR \
-DMYSQL_UNIX_ADDR=$SOCKDIR \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
panduan BIANYI
make &&\
make install &&\
#ln -s /application/mysql-5.5.32/ /application/mysql &&\
sed -i '40 a pathmunge /application/mysql/bin' /etc/profile &&\
source /etc/profile
chown -R mysql.mysql $INSTALLMYSQL
panduan MAKE
}
function StartMySQL(){
/bin/cp $INSTALLMYSQL/support-files/my-small.cnf /etc/my.cnf
echo 'PATH=/application/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
chown -R mysql.mysql $DATADIR
chmod -R 1777 /tmp
cd $INSTALLMYSQL/scripts/
./mysql_install_db  --basedir=$INSTALLMYSQL --datadir=$DATADIR/ --user=mysql
panduan CHUSHI
cd $MYSQLFILE
\cp support-files/mysql.server /etc/init.d/mysqld
chmod  +x /etc/init.d/mysqld
/etc/init.d/mysqld start
panduan START
}
main (){
checkMySQLDir
checkMySQLtar
checkMySQLUser
TarMySQL
StartMySQL
}
main
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell mysql