Скрипт контроля выполнения репликации MySQL

Скрипт контроля выполнения репликации MySQL


#!/bin/bash
HOST="Master сервер"
USER="reply"
PASS_MASTER="пароль для подключения"
PORT_MASTER="3306"
PORT="3308"
PASS_SLAVE="пароль"
# проверка статуса слейва - должно быть 2 строки с 'YES'
COL=`/usr/bin/mysql -h 127.0.0.1 -P $PORT -p$PASS_SLAVE -e 'show slave status\G' | grep Running | grep Yes | wc -l`

# если строки не две
if [ $COL -ne 2 ] ; then
# остановка слейва
/usr/bin/mysql -h 127.0.0.1 -P $PORT -p$PASS_SLAVE -e 'stop slave'
# сброс слейва
/usr/bin/mysql -h 127.0.0.1 -P $PORT -p$PASS_SLAVE -e 'reset slave'
# смотрим имя файла и позицию на мастере
FILE=`mysql -h $HOST -P $PORT_MASTER -u repl -p$PASS_MASTER -e 'show master status' | grep -v File | awk ' {print $1}'`
POS=`mysql -h $HOST -P $PORT_MASTER -u repl -p$PASS_MASTER -e 'show master status' | grep -v File | awk ' {print $2}'`
# настройка слейва
/usr/bin/mysql -h 127.0.0.1 -P $PORT -p$PASS_SLAVE -e "CHANGE MASTER TO MASTER_HOST = '$HOST', MASTER_USER = '$USER', MASTER_PASSWORD = '$PASS_MASTER', MASTER_LOG_FILE = '$FILE', MASTER_LOG_POS = $POS"
# старт слейва
/usr/bin/mysql -h 127.0.0.1 -P $PORT -p$PASS_SLAVE -e 'start slave'
fi




HOST=»Master сервер« — ip или доменное имя Master сервера к которому будем делать подключение

USER=»reply« — пользователь которым будем делать подключение к Master серверу
PASS_MASTER=»пароль для подключения» — пароль подключения к Master серверу, придумали и указывали вначале
PORT_MASTER=»3306» — порт MySQL Master сервера
PORT=»3308» — порт MySQL Slave сервера
PASS_SLAVE=»пароль« — пароль подключения к Slave серверу



Источник
https://hd.zp.ua/skript-kontrolya-vypolneniya-replikatsii-mysql/


Комментарии

Популярные сообщения из этого блога

mikbill расшифровка завершений сессий

Accel-ppp команды

Zabbix agent установка и настройка