MySQL自动化话脚本安装

mysql-自动安装脚本


#!/bin/bash 
#comment 
#./mysql-5.6.sh  mysql-5.6.15.tar.gz 
#:set ff=unix 
#:set nobomb 

name1="$1" 
name2=${name1/.tar.gz/} 
9o
if ! grep -qi "^mysql" /etc/group; then 
    groupadd -g 27 mysql 
fi 
  
if ! id mysql >/dev/null 2>&1; then 
    useradd -u 27 -g mysql -s /sbin/nologin -M mysql 
fi 

yum install -y make cmake gcc gcc-c++ ncurses-devel bison >/dev/null 2>&1 

[ -d /usr/local/mysql5.6 ] && rm -rf /usr/local/mysql5.6 
[ -d /database ] && rm -rf /database/* || mkdir /database 

if [ -d "$name2" ]; then 
    [ -e "$name2/CMakeCache.txt" ] && rm -f "$name2/CMakeCache.txt" 
else 
    tar xf "$name1" 
fi 

cd $name2 
#man cmake 
#cmake -LH 产生CMakeCache.txt, make就按这个cache文件来编译 
#-D 
cmake \ 
-DCMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql5.6 \ 
-DMYSQL_DATADIR:PATH=/database \ 
-DSYSCONFDIR:PATH=/usr/local/mysql5.6/etc \ 
-DWITH_DEBUG:BOOL=on 
make 
make install 

mkdir /usr/local/mysql5.6/etc 

cat <<! >/usr/local/mysql5.6/etc/my.cnf 
[mysqld] 
basedir=/usr/local/mysql5.6 
datadir=/database 
socket=/var/run/mysqld/mysql5.6.sock 
pid-file=/var/run/mysqld/mysql5.6.pid 
port=3307 
user=mysql 

[mysqld_safe] 
log-error=/var/log/mysqld/mysql5.6-error.log 
! 

[ -d /var/run/mysqld ] && rm -rf /var/run/mysqld/* || mkdir /var/run/mysqld 
[ -d /var/log/mysqld ] && rm -rf /var/log/mysqld/* || mkdir /var/log/mysqld 

chown -R mysql.mysql /usr/local/mysql5.6 /database /var/run/mysqld /var/log/mysqld   

/usr/local/mysql5.6/scripts/mysql_install_db --basedir=/usr/local/mysql5.6 --datadir=/database --user=mysql 

cp /usr/local/mysql5.6/support-files/mysql.server /etc/rc.d/init.d/mysql5.6 
sed -i '/conf=/c conf=/usr/local/mysql5.6/etc/my.cnf' /etc/rc.d/init.d/mysql5.6 

chkconfig --add mysql5.6 
service mysql5.6 start