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