zoukankan      html  css  js  c++  java
  • mysql 单机多实例重启数据库服务

    1、# cat db.txt
    backend 3310
    base 3320
    storage 3330
    payment 3340
    promotion 3350

    2、# cat restart_mysql_slave.sh
    #!/bin/sh
    export PATH=$PATH:/usr/local/mysql/bin

    echo -e "33[31m`date +"%Y-%m-%d %T"` Restart begin! 33[0m"

    #停止数据库
    /opt/ops-tool/stop_all.sh

    #启动数据库
    /opt/ops-tool/start_all.sh


    #启动从库
    /opt/ops-tool/start_slave.sh


    #检查主从状态
    /opt/ops-tool/mysql_replication_check.sh

    echo -e "33[31m`date +"%Y-%m-%d %T"` Restart end! 33[0m"

    3、# 

    cat stop_all.sh
    #!/bin/sh
    export PATH=$PATH:/usr/local/mysql/bin
     
    #停止数据库
    cat /opt/ops-tool/db.txt| while read line
    do
      pwd='xxx'
      port=$(echo $line |awk '{print $2}')
      /usr/local/mysql/bin/mysqladmin -h127.0.0.1 -P$port -umtdba_admin -p$pwd shutdown   &>/dev/null
      sleep 10
    done

    4、# cat start_all.sh
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/account_3550/conf/my.cnf &>/dev/null &
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/backend_3310/conf/my.cnf &>/dev/null &
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/base_3320/conf/my.cnf &>/dev/null &
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/bbtoms_3520/conf/my.cnf &>/dev/null &
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/bcoin_3610/conf/my.cnf &>/dev/null &

    sleep 20

    5、cat start_slave.sh
    #!/bin/sh
    export PATH=$PATH:/usr/local/mysql/bin
    cat /opt/ops-tool/db.txt| while read line
    do
      pwd='xxx'
      port=$(echo $line |awk '{print $2}')
      /usr/local/mysql/bin/mysql  -umtdba_admin -p$pwd -h127.0.0.1 -P$port -e"start slave ;"  &>/dev/null
      sleep 5
    done

    6、# 

    cat mysql_replication_check.sh
    #!/bin/sh
    export PATH=$PATH:/usr/local/mysql/bin
    cat /opt/ops-tool/db.txt| while read line
    do
      pwd='xxx'
      service=$(echo $line |awk '{print $1}')
      port=$(echo $line |awk '{print $2}')
      mysql="/usr/local/mysql/bin/mysql -h127.0.0.1 -P$port -umtdba_admin -p$pwd"
      $mysql -e "show slave status G;" 2>/dev/null > tmp.log
      IO_env=`cat tmp.log | grep -w Slave_IO_Running | awk '{print $2}'`
      SQL_env=`cat tmp.log | grep -w Slave_SQL_Running | awk '{print $2}'`
      #判断Slave_IO_Running Slave_SQL_Running状态
      if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
      then
        echo -e "    replication 33[32m$service --> $port 33[0m OK!"
      else
        echo -e "    replication 33[31m$service --> $port 33[0m is abnormal!"
      fi
    done
     
     
    /bin/rm -rf tmp.log

    配置crontab任务计划

    # crontab -l
    0 17 * * * /bin/bash /opt/ops-tool/restart_mysql_slave.sh > /tmp/restart_mysql_$(date "+\%Y-\%m-\%d").log

  • 相关阅读:
    bwapp之xss(blog)
    渗透测试平台bwapp简单介绍及安装
    用glob()函数返回目录下的子文件以及子目录
    常见编码解码脚本
    生成以指定字符为开头的md5值(6位数字)
    从1到n的阶乘的和(python)
    python循环解码base64
    BASE64编码原理分析脚本实现及逆向案例
    史上最完整的MySQL注入
    初探APT攻击
  • 原文地址:https://www.cnblogs.com/manger/p/12574899.html
Copyright © 2011-2022 走看看