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

  • 相关阅读:
    算法训练 表达式计算
    基础练习 十六进制转十进制
    基础练习 十六进制转十进制
    基础练习 十六进制转十进制
    New ways to verify that Multipath TCP works through your network
    TCP的拥塞控制 (Tahoe Reno NewReno SACK)
    Multipath TCP Port for Android 4.1.2
    How to enable ping response in windows 7?
    NS3
    Multipath TCP Port for Android
  • 原文地址:https://www.cnblogs.com/manger/p/12574899.html
Copyright © 2011-2022 走看看