千家信息网

Centos7编译安装mysql脚本

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,#!/bin/bash# mysqld install scripts# display ProgressProgress () { b='' i=0 while [ $i -le
千家信息网最后更新 2025年02月05日Centos7编译安装mysql脚本
#!/bin/bash# mysqld install scripts# display ProgressProgress () {    b=''    i=0    while [ $i -le  100 ]    do        printf "$*:[ %-50s ]%d%%\r" $b $i        sleep 0.001        i=`expr 2 + $i`        b=#$b    done    echo}# if Centos VersionCentos_version=$(cat /etc/redhat-release|awk '{print $4}'|cut -b1)wget -o /dev/null -O /etc/yum.repos.d/Centos-Base.repo /http://mirrors.aliyun.com/repo/Centos-${Centos_version}.repoyum makecacheProgress Centos Downloadsed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config;iptables -Fsetenforce 0rpm -e --nodeps mysql*CPU_NUMBERS=`cat /proc/cpuinfo|grep processor|wc -l`COMPUTER_MEM=`free -m|grep Mem|awk '{print $2}'`MYSQL_MEM=`expr $COMPUTER_MEM - $COMPUTER_MEM / 4`COLOR_GREEN="\033[32m"COLOR_RED="\033[31m"COLOR_BULE="\033[34m"COLOR_YELLOW="\033[33m"COLOR_PURPLE="\033[35m"COLOR_END="\033[0m"sleep 0.05;echo "==================================================";echo;echosleep 0.05;echo -e "Mysql 5.7.16 on $COLOR_GREEN Centos7_`uname -m` $COLOR_END"sleep 0.05;echo -e "Your computer is $COLOR_GREEN $CPU_NUMBERS $COLOR_END processes,Mysql Memory is ${COLOR_GREEN}${MYSQL_MEM}M${COLOR_END}"sleep 0.05;echo -e "${COLOR_RED}Your will input mysql's root password and mysql's memory${COLOR_END}";echo;echosleep 0.05;echo "=================================================="# are you sure installread -n1 -t30 -p "Are you sure setup[y/n]?: " answercase $answer in    "y" | "Y" )        echo;echo "Start setup.....";sleep 2;;    "n" | "N" )        echo;echo -e "${COLOR_RED}Cancel setup......${COLOR_END}"        exit 0 ;;    "")        echo;echo -e "${COLOR_PURPLE}Over time!!!!!${COLOR_END}"        exit 0 ;;    *)        echo;echo -e "${COLOR_RED}Error input parameter......${COLOR_END}"       exit 1 ;;esac# check if user is rootif [ $(id -u) != "0" ];then    echo "$COLOR_RED Sorry:You must be root to run this script!${COLOR_END}"    exit 1fi# useradd mysqlGROUP_NAME=mysqlUSER_NAME=mysqlif [ -z $(cat /etc/passwd|awk -F: "{print $1}"|grep -w "$USER_NAME") -a -z $(cat /etc/group|awk -F: "{print $1}"|grep -w "$GROUP_NAME") ]then    useradd -s /sbin/nologin -M -U $USER_NAME 2> /dev/null    if (( $? == "0" ))    then        echo -e  "$COLOR_GREEN group $GROUP_NAME add sucessfully!${COLOR_END}"    fi    else        echo -e "${COLOR_PURPLE}User $USER_NAME is exsits! ${COLOR_END}"fifor i in make gcc gcc-c++ bison-devel ncurses-devel perl perl-devel wgetdo    yum -y -q install $i > /dev/null    echo -e "${COLOR_PURPLE}$i ${COLOR_GREEN}Install ok${COLOR_END}"done# download cmake >= 2.8CMAKE_VERSION=cmake-3.4.3rm -rf /tmp/cmake*if [ -z $(which cmake) ]then    wget -c --no-check-certificate -q https://cmake.org/files/v3.4/${CMAKE_VERSION}.tar.gz -P /tmp    if [ $? == "0" ]    then        Progress Cmake Download        echo -e "${COLOR_GREEN}Cmake Download sucessfully!${COLOR_END}"    else        echo -e "${COLOR_RED}Cmake Download failed!${COLOR_END}"        exit 0    fi    tar -zxf /tmp/${CMAKE_VERSION}.tar.gz -C /tmp/ > /dev/null    cd /tmp/${CMAKE_VERSION}    ./bootstrap > /dev/null    make && make install    echo $?else    echo -e "${COLOR_PURPLE}Cmake is exsits ${COLOR_END}"fi# download boost_1.61BOOST_VERSION=1.61.0BOOST_VER="boost_1_61_0"for i in bzip2 gcc bzip2-devel bzip2-libs python-devel perl-Data-Dumperdo    yum install -q -y $i > /dev/null    echo -e "${COLOR_PURPLE}$i ${COLOR_GREEN}install OK${COLOR_END}"donewget -c --no-check-certificate -q https://nchc.dl.sourceforge.net/project/boost/boost/${BOOST_VERSION}/${BOOST_VER}.tar.bz2 -P /tmpif [ $? == "0" ]then    Progress Boost Download    echo -e "${COLOR_GREEN}Boost Download sucessfully!${COLOR_END}"    echo -e "${COLOR_GREEN}Decompression ${BOOST_VER}.tar.bz2${COLOR_END}"    cd /tmp;tar -jxf ${BOOST_VER}.tar.bz2    cd ${BOOST_VER}    echo `pwd`    ./bootstrap.sh 2> /dev/null    ./b2 install   2> /dev/nullelse    echo -e "${COLOR_RED}Boost Download failed!${COLOR_END}"    exit 0fi# Download mysqlrm -rf /tmp/mysql-5.*MYSQL_VERSION=5.6.35wget -c http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-${MYSQL_VERSION}.tar.gz -P /tmpif [ $? == "0" ]then    echo -e "${COLOR_PURPLE}Mysql ${MYSQL_VERSION}${COLOR_GRENN}Download sucessfully!${COLOR_END}"else    echo -e "${COLOR_PURPLE}Mysql ${MYSQL_VERSION}${COLOR_RED}Download failed!${COLOR_END}"ficd /tmp/tar -zxf /tmp/mysql-${MYSQL_VERSION}.tar.gzcd mysql-${MYSQL_VERSION}if [ -f /etc/my.cnf ]then    mv /etc/my.cnf /etc/my.cnf__$(date +%Y%m%d).bakfiecho "======================================================"echo -e "Please input the root password of mysql: "read -p "(Default password:root):" MYSQL_PASSWDif [ $mysqlrootpw == "" ];then    MYSQL_PASSWD="root"fiecho "Mysql root's password is ${mysqlrootpw}"echo -e "${COLOR_PURPLE}Please input Mysql Basedir: ${COLOR_END}"read -p "(Default Mysql Basedir:/usr/local/mysql/)" MYSQL_HOMEif [ -z $MYSQL_HOME ];then    MYSQL_HOME="/usr/local/mysql"firead -p "(Default Mysql Datadir:/usr/local/mysql/data)" MYSQLDB_HOMEif [ -z $MYSQLDB_HOME ];then    MYSQLDB_HOME="/usr/local/mysql/data"fiecho "======================================================="cmake \-DCMAKE_INSTALL_PREFIX=${MYSQL_HOME}-${MYSQL_VERSION} \-DMYSQL_DATADIR=${MYSQLDB_HOME} \-DSYSCONFDIR=/etc \-DWITH_BOOST=/usr/local/include/boost \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DMYSQL_TCP_PORT=3306 \-DDEFAULT_CHARSET=utf8 \-DMYSQL_USER=mysql \-DEXTRA_CHARSETS=all \-DENABLED_LOCAL_INFILE=1 \-DDEFAULT_COLLATION=utf8_general_cimake -j${CPU_NUMBERS} && make installln -s ${MYSQL_HOME}-${MYSQL_VERSION} ${MYSQL_HOME}cp ${MYSQL_HOME}/support-files/my-default.cnf /etc/my.cnfmkdir -p ${MYSQLDB_HOME}/logchown -R mysql:mysql ${MYSQL_HOME}chown -R mysql:mysql ${MYSQLDB_HOME}cd ${MYSQL_HOME};chmod +x ./scripts/mysql_install_db${MYSQL_HOME}/scripts/mysql_install_db --user=mysql --basedir=${MYSQL_HOME} --datadir=${MYSQLDB_HOME}cat >> /etc/profile <


0