• 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
  • 相关阅读:
    Python——极限编程
    RPC是什么?科普一下
    缓存在高并发场景下的常见问题
    如何提高缓存命中率
    数据库性能优化的误区
    缓存在大型网站架构中的应用
    APP多版本共存,服务端如何兼容?
    水平分库分表的关键问题及解决思路
    分库分表的几种常见玩法及如何解决跨库查询等问题
    分布式系统事务一致性解决方案
  • 原文地址:https://www.cnblogs.com/liucsxiaoxiaobai/p/11515714.html
Copyright © 2020-2023  润新知