#!/bin/bash
echo "-----------------------start install mysql----------------------"
apt-get install make cmake libncurses5-dev bison g++
mkdir -p /data/mysql/dbdata
if [ `grep "mysql" /etc/passwd | wc -l` -eq 0 ];then
echo "adding user mysql"
groupadd mysql
useradd -g mysql mysql -s /bin/false
else
echo "mysql user is exist"
fi
wget http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.23.tar.gz
echo "tar xzvf mysql-5.6.23.tar.gz"
tar xzvf mysql-5.6.23.tar.gz
cd mysql-5.6.23
echo "cmake mysql,please wait-----------------"
cmake '-DCMAKE_INSTALL_PREFIX=/usr/local/mysql' '-DSYSCONFDIR=/etc' '-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock' '-DDEFAULT_CHARSET=utf8' '-DDEFAULT_COLLATION=utf8_general_ci' '-DEXTRA_CHARSETS=all' '-DWITH_MYISAM_STORAGE_ENGINE=1' '-DWITH_INNOBASE_STORAGE_ENGINE=1' '-DWITH_MEMORY_STORAGE_ENGINE=1' '-DWITH_READLINE=1' '-DENABLED_LOCAL_INFILE=1' '-DMYSQL_DATADIR=/data/mysql/dbdata' '-DMYSQL_USER=mysql' '-DWITH_DEBUG=0'
if [ $? -ne 0 ];then
echo "configure failed ,please check it out!"
exit 1
fi
echo "make mysql, please wait for 20 minutes"
make && make install
if [ $? -ne 0 ];then
echo "make failed ,please check it out!"
exit 1
fi
make install
chown -R mysql:mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql/dbdata/
cp ./support-files/my-default.cnf /etc/my.cnf
cp ./support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
ln –s /usr/local/mysql/bin/mysql /usr/bin
ln –s /usr/local/mysql/bin/mysqladmin /usr/bin
echo "init mysql,please wait-----------------"
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --skip-name-resolve --user=mysql
if [ $? -ne 0 ];then
echo "inti failed ,please check it out!"
exit 1
fi
echo "mysql starting"
/etc/init.d/mysqld start
if [ $? -ne 0 ];then
echo "mysql start filed ,please check it out!"
else
echo "mysql start successful,congratulations!"
fi