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
########################################################
欢迎各位大佬指正,小白还在学习的路上