|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
|
|
export PATH
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
|
|
|
# https://downloads.mysql.com/archives/community/
|
|
|
|
|
|
|
|
curPath=`pwd`
|
|
|
|
rootPath=$(dirname "$curPath")
|
|
|
|
rootPath=$(dirname "$rootPath")
|
|
|
|
serverPath=$(dirname "$rootPath")
|
|
|
|
sysName=`uname`
|
|
|
|
|
|
|
|
myDir=${serverPath}/source/mysql-apt
|
|
|
|
|
|
|
|
bash ${rootPath}/scripts/getos.sh
|
|
|
|
OSNAME=`cat ${rootPath}/data/osname.pl`
|
|
|
|
VERSION_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'`
|
|
|
|
|
|
|
|
# cd /www/server/mdserver-web/plugins/mysql-apt && bash install.sh install 8.4
|
|
|
|
# cd /www/server/mdserver-web && python3 /www/server/mdserver-web/plugins/mysql-apt/index.py start 8.4
|
|
|
|
|
|
|
|
if [ "$OSNAME" == 'debian' ] && [ "$VERSION_ID" -lt '12' ] ;then
|
|
|
|
VERSION_ID="12"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
ARCH="amd64"
|
|
|
|
TMP_ARCH=`arch`
|
|
|
|
if [ "$TMP_ARCH" == "x86_64" ];then
|
|
|
|
ARCH="amd64"
|
|
|
|
elif [ "$TMP_ARCH" == "aarch64" ];then
|
|
|
|
ARCH="arm64"
|
|
|
|
else
|
|
|
|
ARCH="amd64"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$ARCH" != "amd64" ];then
|
|
|
|
echo "暂时不支持该${ARCH}"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
MYSQL_VER=8.4.2
|
|
|
|
SUFFIX_NAME=${MYSQL_VER}-linux-glibc2.28_${TMP_ARCH}
|
|
|
|
|
|
|
|
|
|
|
|
# /lib/systemd/system/mysql.service
|
|
|
|
# /etc/mysql/my.cnf
|
|
|
|
|
|
|
|
APT_INSTALL()
|
|
|
|
{
|
|
|
|
########
|
|
|
|
mkdir -p $myDir
|
|
|
|
mkdir -p $serverPath/mysql-apt/bin
|
|
|
|
|
|
|
|
mkdir -p /var/run/mysqld
|
|
|
|
chown mysql -R /var/run/mysqld
|
|
|
|
|
|
|
|
# Linux - Generic
|
|
|
|
# https://cdn.mysql.com/archives/mysql-8.4/mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz
|
|
|
|
wget --no-check-certificate -O ${myDir}/mysql-${SUFFIX_NAME}.tar.xz https://cdn.mysql.com/archives/mysql-8.4/mysql-${SUFFIX_NAME}.tar.xz
|
|
|
|
|
|
|
|
if [ -d ${myDir} ];then
|
|
|
|
cd ${myDir} && tar zvxf ${myDir}/mysql-${SUFFIX_NAME}.tar.xz
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
# 测试时可关闭
|
|
|
|
rm -rf $myDir
|
|
|
|
#######
|
|
|
|
}
|
|
|
|
|
|
|
|
APT_UNINSTALL()
|
|
|
|
{
|
|
|
|
###
|
|
|
|
rm -rf $myDir
|
|
|
|
# apt remove -y mysql-server
|
|
|
|
###
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Install_mysql()
|
|
|
|
{
|
|
|
|
echo '正在安装脚本文件...'
|
|
|
|
|
|
|
|
isApt=`which apt`
|
|
|
|
if [ "$isApt" != "" ];then
|
|
|
|
APT_INSTALL
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$?" == "0" ];then
|
|
|
|
mkdir -p $serverPath/mysql-apt
|
|
|
|
echo '8.4' > $serverPath/mysql-apt/version.pl
|
|
|
|
echo '安装完成'
|
|
|
|
else
|
|
|
|
echo '8.4' > $serverPath/mysql-apt/version.pl
|
|
|
|
echo "暂时不支持该系统"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
Uninstall_mysql()
|
|
|
|
{
|
|
|
|
|
|
|
|
isApt=`which apt`
|
|
|
|
if [ "$isApt" != "" ];then
|
|
|
|
APT_UNINSTALL
|
|
|
|
fi
|
|
|
|
|
|
|
|
rm -rf $serverPath/mysql-apt
|
|
|
|
echo '卸载完成'
|
|
|
|
}
|
|
|
|
|
|
|
|
action=$1
|
|
|
|
if [ "${1}" == 'install' ];then
|
|
|
|
Install_mysql
|
|
|
|
else
|
|
|
|
Uninstall_mysql
|
|
|
|
fi
|