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
下篇背景简介