zoukankan      html  css  js  c++  java
  • mysql 安装卸载自动化脚本

    #!/bin/sh
    #mkdir  /root/mysql
    #tar -xvf   mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar -C /root/mysql
    #cd  /root/mysql
    #yum -y install perl-Data-Dumper perl-JSON perl-Time-HiRes
    #rpm -Uvh mysql-community-*.rpm
    #systemctl start mysqld
    language(){
        echo $LANG |grep -q zh
        if [ $? -eq 0 ];then
            return 0
        else
            return 1
        fi
    }
    menu(){
        clear
        language
        if [ $? -eq 0 ];then
           echo "  ##############----Menu----##############"
           echo "# 1. 安装mysql"
           echo "# 2. 修改数据库的初始密码"
           echo "# 3. 配置数据库"
           echo "# 4. 卸载数据库"
           echo "# 5. 退出"
           echo "  ########################################"
        else
           echo "  ##############----Menu----##############"
           echo "# 1. Install mysql"
           echo "# 2. change mysql first password"
           echo "# 3. configure mysql"
           echo "# 4. remove MySQL"
           echo "# 5. exit"
           echo "  ########################################"
        fi
    }
    
    choice(){
        language
        if [ $? -eq 0 ];then
            read -p "请选择一个菜单[1-5]:" select
        else
            read -p "Please choice a menu[1-5]:" select
        fi
    }
    install_mysql(){
            language
            echo "请上传数据库安装包"
            rz -E
            mkdir  /root/mysql
            tar -xvf   mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar -C /root/mysql
            cd  /root/mysql
            rm -rf mysql-community-devel-5.7.25-1.el7.x86_64.rpm  mysql-community-embedded-*.rpm  mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm  mysql-community-test-5.7.25-1.el7.x86_64.rpm
            yum -y install perl-Data-Dumper perl-JSON perl-Time-HiRes net-tools
            rpm -Uvh mysql-community-*.rpm
            systemctl start mysqld
    
            if [ $? -eq 0 ]
            then
                    echo "安装成功"
            else
                    echo $?
                    exit
            fi
    }
    
    change_password(){
            language
            PORT="3306"
            USERNAME="root"
            PASSWORD=$(cat /var/log/mysqld.log |grep  'temporary password' | awk -F:  '{print $4}' | sed s/[[:space:]]//g)
            echo $PASSWORD
            mysql_conn="mysql -P${PORT}  -u${USERNAME}   --connect-expired-password    --password=${PASSWORD}"
            echo  $mysql_conn
            NEWPASS="1234"
    #       sql="alter mysql.user 'root'@'localhost' identified by "${NEWPASS}";flush privileges;" 
    #       echo $sql
            $mysql_conn  -e  "set global validate_password_policy=0;"
            $mysql_conn  -e  "set global validate_password_length=4;"
            $mysql_conn  -e  "set password for 'root'@'localhost'=password('1234');flush privileges;"
            if [ $? -eq 0 ]
            then
                    echo "修改密码成功"
            else
                    echo $?
                    exit
            fi
    
    }
    
    
    configure_mysql(){
            cp /etc/my.cnf  /etc/my.cnf.default
            sed -i '3a[client]	
    default-character-set=utf8 ' /etc/my.cnf
            sed -i '/[mysqld]/acharacter-set-server=utf8
    validate_password_length=4
    validate_password_policy=0 '  /etc/my.cnf
            systemctl restart mysqld
            if [ $? -eq 0 ]
            then
                 echo "修改默认编码为utf8成功"
               sleep 3
            else
                 echo $? 
                 exit
            fi
          
    }
    
    
    remove_mysql(){
        language
            systemctl stop mysqld
            mysql_pack=$(rpm -qa|grep mysql)
            for i in  $mysql_pack
            do
                    rpm -e ${i} --nodeps
            done
            rm -rf /var/lib/mysql
            rm -rf /usr/bin/mysql
            rm -rf /usr/lib64/mysql
            rm -rf /usr/share/mysql
        rm -rf /usr/include/mysql
        rm -rf  /var/log/mysqld.log
            if [ $? -eq 0 ]
            then
                 echo "卸载成功"
            else
                 echo $? 
                 exit
            fi
    
    }
    while true
    do
    menu
    choice
    case $select in
    1)
          install_mysql
          ;;
    2)
          change_password
          ;;
    3)
          configure_mysql
          ;;
    4)
          remove_mysql
          ;;
    5)
          quit;break
          ;;
    esac
    done
  • 相关阅读:
    spring源码分析之cache注解
    Full Gc经历分析
    spring源码分析之context
    spring源码分析之freemarker整合
    publishing failed with multiple errors resource is out of sync with the file system--转
    真正解决问题:maven eclipse tomcat java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener--转
    pyspark kafka createDirectStream和createStream 区别
    kafka 0.11 spark 2.11 streaming例子
    蜜罐技术——通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析
    安装和使用访问暗网
  • 原文地址:https://www.cnblogs.com/liucsxiaoxiaobai/p/11515714.html
Copyright © 2011-2022 走看看