serviço de banco de dados mysql restart stand-alone multi-instância

1, # cat db.txt
backend 3310
base de 3320
de armazenamento de 3330
de pagamento 3340
promoção 3350

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

echo -e "\ 033 [31m`date +" % Y-% m-% d% T "` Restart começar! \ 033 [0m"

# Parar o banco de dados
/opt/ops-tool/stop_all.sh

# Iniciar o banco de dados
/opt/ops-tool/start_all.sh


# Iniciar a partir da biblioteca
/opt/ops-tool/start_slave.sh


# Verificar o estado do mestre
/opt/ops-tool/mysql_replication_check.sh

echo -e "\ 033 [31m`date +" % Y-% m-% d% T "` final de reinicialização! \ n \ 033 [0m"

3, # cat stop_all.sh
#! / Bin / sh
export PATH = $ PATH: / usr / local / mysql / bin

# Parar de banco de dados
CAT /opt/ops-tool/db.txt | dos enquanto Leia Linha
fazer
pwd = 'XXX'
Porta = $ (echo $ Linha | awk '{} print $ 2')
/ usr / local / MySQL / bin / mysqladmin porto -uroot - p -P $ -h127.0.0.1 $ pwd o desligamento &> / dev / null
SLEEP 10
DONE

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

dormir 20

5, # cat mysql_replication_check.sh
#! / Bin / sh
export PATH = $ PATH: / usr / local / mysql / bin
/opt/ops-tool/db.txt gato | enquanto a linha de leitura
fazer
pwd = 'xxx'
service = $ (echo $ linha | awk '{print $ 1}')
port = $ (echo $ linha | awk '{print $ 2}')
mysql = "/ usr / local / mysql / bin / mysql -h127.0.0.1 -P $ porto -uroot -p $ pwd"
$ mysql -e "Mostrar o estado do escravo \ G;" 2> / dev / null> tmp.log
IO_env = `tmp.log gato | grep -w Slave_IO_Running | awk '{print $ 2}' `
SQL_env =` tmp.log gato | grep -w Slave_SQL_Running | awk '{print $ 2}' `
#判断Slave_IO_Running Slave_SQL_Running状态
if [ "$ IO_env"= "Sim" -a "$ SQL_env"= "Sim"
] Então
echo -e "replicação \ 033 [32m $ service -> $ port \ 033 [OK 0m!"
outro
echo -e "replicação \ 033 [$ service 31m -> $ port \ 033 [0m é anormal!"
fi
feito

/ Bin / rm -rf tmp.log

6, # crontab -l
0 17 * * * / bin / bash /opt/ops-tool/restart_mysql_slave.sh> / tmp / restart_mysql _ $ (data "+ \% Y - \% m - \% d"). Log

Acho que você gosta

Origin www.cnblogs.com/manger/p/12574899.html
Recomendado
Clasificación