linux一键安装mysql脚本

#!/bin/sh
if [ -s /etc/my.cnf ];then
rm -rf /etc/my.cnf
fi

echo "----------------------------------start install mysql -----------------------------"
yum install -y ncurses gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel libtool* cmake
mkdir -p /data/mysql
if [ 'grep "mysql" /etc/passwd | wc -l' ]; then
echo "adding user mysql"
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
else
echo "mysql user exists"
fi

echo "-------------------------------downloading mysql----------------------------------"
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.46.tar.gz

echo "------------------------------unpackaging mysql -----------------------------------"
tar -xvf mysql-5.5.46.tar.gz
cd mysql-5.5.46

echo "-------------------------configuring mysql,please wait-----------------"
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql

if [ $? -ne 0 ];then
echo "configure failed ,please check it out!"
exit 1
fi

echo "make mysql, please wait for 20 minutes"
make
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/

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
#chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql/

cp -f ./support-files/my-large.cnf /etc/my.cnf
sed -i 's#^thread_concurrency = 8#& \ndatadir = /data/mysql#g' /etc/my.cnf
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod 755 /etc/init.d/mysql

#chkconfig --add mysqld
#chkconfig --level 2345 mysqld on
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
ln -s /usr/local/mysql/bin/myisamchk /usr/bin/myisamchk
ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe

echo "mysql starting"
/usr/local/mysql/bin/mysqld --user=mysql
if [ $? -ne 0 ];then
echo "mysql start filed ,please check it out!"
else
echo "mysql start successful,congratulations!"
fi

posted @ 2018-11-08 19:17  henrylinux  阅读(1965)  评论(0编辑  收藏  举报