一键安装 MySQL-5.7.x/8.0.x 二进制包的脚本
注:此脚本适用于centos安装,具体需要根据实际情况进行测试调整。
[root@centos8 ~]# cat install_mysql-8.0.23.sh
#!/bin/bash
#wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
#wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
. /etc/init.d/functions
SRC_DIR=`pwd`
#MYSQL='mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz'
MYSQL=mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
COLOR='echo -e \e[1;31m'
END='\e[0m'
MYSQL_ROOT_PASSWORD=waluna
check () {
if [ $UID -ne 0 ];then
action "user isn't root,install flase" flase
exit 1
fi
if [ ! -e $MYSQL ];then
$COLOR"install file isn't exist"$END
$COLOR"please download install file"$END
exit
elif [ -e /usr/local/mysql ];then
$COLOR"mysql is exist,install flase"$END
exit
else
return
fi
}
install_mysql () {
$COLOR"begin install mysql..."$END
yum install libaio perl-devel ncurses-compat-libs -y &> /dev/null
mkdir -p /usr/local/src &> /dev/null
tar xf $MYSQL -C /usr/local/src
MYSQL_DIR=`echo $MYSQL|sed -nr 's/(.*[0-9]).*/\1/p'`
ln -s /usr/local/src/$MYSQL_DIR /usr/local/mysql
id mysql &> /dev/null || { useradd -r -u 306 -s /bin/false mysql;action "create mysql user";}
chown -R mysql.mysql /usr/local/mysql/
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
ln -s /usr/local/mysql/bin/* /usr/bin/
cat > /etc/my.cnf <<EOF
[mysqld]
server-id=1
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
EOF
[ -d /data/mysql ] || mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql/
mysqld --initialize --user=mysql --datadir=/data/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
[ $? -ne 0 ] && { $COLOR"mysql start flase!"$END;exit; }
MYSQL_OLDPASSWORD=`awk '/temporary password/{print $NF}' /data/mysql/mysql.log`
mysqladmin -uroot -p$MYSQL_OLDPASSWORD password $MYSQL_ROOT_PASSWORD &> /dev/null
action "mysql install complete"
}
check
install_mysql







Comments | NOTHING