#!/bin/bash ## 2018-5-24
## hequan
mkdir -p /data/src/
cd /data/src/
if [ ! -f mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz ]; then
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
fi
yum install -y numactl.x86_64 autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses-devel
# Check if user is root
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install"
exit 1
fi
clear
echo "========================================================================="
echo "A tool to auto-compile & install MySQL 8.0.11 on Redhat/CentOS Linux "
echo "========================================================================="
cur_dir=$(pwd)
#set mysql root password
echo "==========================="
mysqlrootpwd="123456"
echo -e "Please input the root password of mysql:"
read -p "(Default password: 123456):" mysqlrootpwd
if [ "$mysqlrootpwd" = "" ]; then
mysqlrootpwd="123456"
fi
echo "==========================="
echo "MySQL root password:$mysqlrootpwd"
echo "==========================="
#which MySQL Version do you want to install?
echo "==========================="
isinstallmysql8011="n"
echo "Install MySQL 8.0.11,Please input y"
read -p "(Please input y , n):" isinstallmysql8011
case "$isinstallmysql8011" in
y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)
echo "You will install MySQL 8.0.11"
isinstallmysql8011="y"
;;
*)
echo "INPUT error,You will exit install MySQL 8.0.11"
isinstallmysql8011="n"
exit
esac
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
#dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "Press any key to start...or Press Ctrl+c to cancel"
char=`get_char`
# Initialize the installation> function InitInstall()
{
cat /etc/issue
uname -a
MemTotal=`free -m | grep Mem | awk '{print $2}'`
echo -e "\n Memory is: ${MemTotal} MB "
#Set timezone
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#Delete Old Mysql program
rpm -qa|grep mysql
rpm -e mysql
#Disable SeLinux
if [ -s /etc/selinux/config ]; then
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
fi
setenforce 0
}
#Installation of depend on and optimization options.
function InstallDependsAndOpt()
{
cd $cur_dir
cat >>/etc/security/limits.conf/etc/my.cnf /etc/ld.so.conf.d/mysql-x86_64.conf /etc/profile /dev/null
CheckInstall 2>&1 | tee -a /root/mysql-install.log
source /etc/profile