【脚本】mysql源码安装脚本

mysql安装脚本,本脚本为源码安装脚本

#!/bin/bash
#2020年7月2日
#auto install  mysql
#by author  TuDestiny
###################################
MYSQL_VER="5.7.28"
MYSQL_YUM="yum install -y"
MYSQL_SOFT="mysql-${MYSQL_VER}.tar.gz"
MYSQL_DIR="/home/mysql"
BOOST_SOFT="boost_1_59_0.tar.gz"
BOOST_DIR="/usr/local/boost"
MYSQL_START="/etc/init.d/mysqld57"
MYSQL_DATA="/data/mysql57/"

echo  "####################安装依赖环境################"
$MYSQL_YUM    wget  netstat
$MYSQL_YUM    gcc ncurses-devel libaio bison gcc-c++ git cmake
$MYSQL_YUM    openssl  openssl-devel

echo   "###################下载mysql软件包,并解压####################"
wget -c  http://mirrors.163.com/mysql/Downloads/MySQL-5.7/$MYSQL_SOFT
ls   -l  $MYSQL_SOFT
tar  -zxvf $MYSQL_SOFT
chown  -R root.  /home/iflytek/mysql-5.7.28

echo  "###################下载boost库,并解压#########"
echo  "####boost:C++语言标准库提供扩展的一些C++程序库的总称####################"
wget  -c  https://sourceforge.net/projects/boost/files/boost/1.59.0/$BOOST_SOFT
ls    -l           $BOOST_SOFT
tar   -zxvf        $BOOST_SOFT
rm    -rf          $BOOST_DIR
mv  boost_1_59_0   $BOOST_DIR
chown -R   root.   $BOOST_DIR
chmod -R   755     $BOOST_DIR
echo  "##################创建mysql用户#################"
mkdir -p  $MYSQL_DATA
useradd -s /sbin/nologin -r   mysql  -M
chown   -R  mysql:mysql  $MYSQL_DATA

echo -e "\033[32m#####################预编译####################\033[0m"
cd /home/iflytek/mysql-5.7.28/
cmake . -DCMAKE_INSTALL_PREFIX=${MYSQL_DIR} \
-DMYSQL_DATADIR=${MYSQL_DIR}/data \
-DMYSQL_UNIX_ADDR=${MYSQL_DIR}/data/tmp/mysql.sock \
-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_BOOST=${BOOST_DIR} \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
make && make install

cp /home/iflytek/mysql-5.7.28/support-files/mysql.server  $MYSQL_START
chmod +x  $MYSQL_START
cd /etc/
cat  >/etc/my.cnf<<EOF
[mysqld]
basedir=$MYSQL_DIR
datadir=$MYSQL_DATA
port=3306
pid-file=${MYSQL_DATA}mysql.pid
socket=${MYSQL_DATA}mysql.sock
skip-grant-tables
[mysqld_safe]
log-error=${MYSQL_DATA}mysql.log
socket=${MYSQL_DATA}mysql.sock


[client]
socket=${MYSQL_DATA}mysql.sock
port =3306
EOF
echo -e "\033[32m数据库初始化\033[0m"
${MYSQL_DIR}/bin/mysqld --initialize --user=mysql --datadir=$MYSQL_DATA  --basedir=$MYSQL_DIR
echo "################设置环境变量########################"
echo "export PATH=${MYSQL_DIR}/bin:$PATH" >> /etc/profile
source /etc/profile
echo  "####################启动mysql服务###################"
$MYSQL_START restart
echo  "###################查看进程#########################"
ps -ef|grep mysql
echo  "###################将服务加入系统服务###############"
chkconfig --add mysqld
chkconfig --level 35  mysqld on
netstat -tnlp|grep 3306
setenforce 0
systemctl  stop firewalld.service

########################################################

欢迎各位大佬指正,小白还在学习的路上

你可能感兴趣的:(shell脚本)