美文网首页
jianshu文章测试

jianshu文章测试

作者: PandaV587 | 来源:发表于2017-11-16 13:20 被阅读0次

    测试

    #!/bin/bash
    printfHead(){
        clear
        printf "***********************************************************\n\n"
        printf "\t\tCmPanda MySQL InstallScript\n"
        printf "\t\t      Centos 6.X x64\n\n"
        printf "***********************************************************\n\n"
    }
    printfFoot(){
        printf "***********************************************************\n\n"
        printf "\t\tEnd Of Script - CmPanda\n\n"
        printf "***********************************************************\n\n"
    }
    checkYum(){
        printf "Checking yum configured ...... "
        yum list *mysql* >& /dev/null
        if [ $? -eq 0 ]
        then
            yumRes=$(yum list *mysql*)
            if [[ "$yumRes" =~ .*mysql.*\..*64.* ]] && [[ "$yumRes" =~ .*mysql.*server.*\..*64.* ]]
            then
                echo -e "\033[32mSuccess\033[0m\nStart update yum"
                yum -y update all
                checkMySQL
            else
                echo -e "\033[31mFail\033[0m"
                installAliYum
            fi
        else
            echo -e "\033[31mFail\033[0m"
            installAliYum
        fi
    }
    installAliYum(){
        printf "Check wget com ...... "
        wget --help >& /dev/null
        if [ $? -ne 0 ]
        then
            echo -e "\033[31mFail\nNot find wget com\n\033[0m"
            printfFoot
            exit 0
        fi
        echo -e "\033[32mSuccess\033[0m"
        while true
        do
            printf "Whether to install aliMirrors (Y/N)?  "
            read res
            if [ "$res" = "Y" -o "$res" = "y" ]
            then
                break
            elif [ "$res" = "N" -o "$res" = "n" ]
            then
                printf "\n"
                printfFoot
                exit 0
            fi
        done
        echo -ne "Download aliyun yum.repos ...... "
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo >& /dev/null
        echo -ne "\033[32mSuccess\033[0m\nClean yum ...... "
        yum clean all > /dev/null
        echo -e "\033[32mSuccess\033[0m\nMakeCache yum"
        yum makecache
        echo -e "Yum Update Done"
        checkYum
    }
    checkMySQL(){
        echo "正在判断是否已安装 MySQL"
        mysqlres=$(yum list installed *mysql*)
        if [[ "$mysqlres" =~ .*mysql.*\..* ]]
        then
            echo -e "\033[33m检测到有MySQL相关组件\033[0m"
            while true
            do
                printf "是否清除 (Y/N)?  "
                read res
                if [ "$res" = "Y" -o "$res" = "y" ]
                then
                    printf "Start remove MySQL ...... "
                    removeMySQL
                    break
                elif [ "$res" = "N" -o "$res" = "n" ]
                then
                    echo
                    printfFoot
                    break
                fi
            done
        else
            printf "未检测到MySQL相关组件\n"
            installMySQL
        fi
    }
    removeMySQL(){
        #yum remove *mysql* > /dev/null
        yum remove -y *mysql* >& /dev/null
        echo -e "\033[32mSuccess\033[0m"
        installMySQL
    }
    installMySQL(){
        printf "Start Install MySQL\n"
        yum install -y mysql*server*x86_64
        printf "安装完成,启动MySQL服务 ...... "
        service mysqld restart >& /dev/null
        echo -e "\033[32mSuccess\033[0m"
        printf "设置MySQL Root密码:  "
        read pwd
        printf "开始配置MySQL\n修改MySQL密码 ...... "
        mysqladmin -u root password $pwd
        service mysqld restart >& /dev/null
        echo -e "\033[32mSuccess\033[0m"
    
        while true
        do
            printf "是否配置MySQL远程访问 (Y/N)?  "
            read res
            if [ "$res" = "Y" -o "$res" = "y" ]
            then
                printf "配置MySQL远程访问 ...... "
                cm1="grant all privileges on *.* to 'root'@'%' identified by '"
                cm2="' with grant option;"
                cm=$cm1${pwd}$cm2
    mysql -h127.0.0.1 -uroot -p$pwd --port=3306 <<EOF
    use mysql;
    $cm
    FLUSH PRIVILEGES;
    EOF
                echo -e "\033[32mSuccess\033[0m"
                break
            elif [ "$res" = "N" -o "$res" = "n" ]
            then
                break
            fi
        done
    
        while true
        do
            printf "是否配置防火墙开启3306端口 (Y/N)?  "
            read res
            if [ "$res" = "Y" -o "$res" = "y" ]
            then
                printf "配置防火墙开启3306端口 ...... "
                sed -i '/.*22.*/a\-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT' /etc/sysconfig/iptables
                echo -ne "\033[32mSuccess\033[0m\n重启防火墙 ...... "
                service iptables restart >& /dev/null
                echo -e "\033[32mSuccess\033[0m"
                break
            elif [ "$res" = "N" -o "$res" = "n" ]
            then
                break
            fi
        done
    
        while true
        do
            printf "是否配置MySQL开机自启 (Y/N)?  "
            read res
            if [ "$res" = "Y" -o "$res" = "y" ]
            then
                printf "配置MySQL开机自启 ...... "
                chkconfig mysqld on
                echo -e "\033[32mSuccess\033[0m"
                break
            elif [ "$res" = "N" -o "$res" = "n" ]
            then
                break
            fi
        done
        printf "MySQL安装配置成功\n\n"
        printfFoot
    }
    printfHead
    checkYum
    

    相关文章

      网友评论

          本文标题:jianshu文章测试

          本文链接:https://www.haomeiwen.com/subject/ygslvxtx.html