Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagexml
themeMidnight
title/etc/keepalived/keep_notify.sh
linenumberstrue
collapsetrue
#!/bin/bash

MYSQL_USER="<mysql_user>"
MYSQL_PASSWORD="<mysql_password>"


if ! lockfile-create --use-pid -r 5 /tmp/keep.mode.lock; then
    echo "Unable to lock"
    echo "Unable to lock" > /tmp/keep.mode.lock.fail
    exit 0
fi

case "$1" in
    master)
    #  ems_reload_all
    echo "MASTER" > /tmp/keep.mode
  
    service eltex-ems restart
    service eltex-ngw restart
    service eltex-wifi-cab restart

  ;;
 backup)
    echo "BACKUP" > /tmp/keep.mode

   mongo_set_role slave

    service eltex-ems stop
    service eltex-ngw stop
	service eltex-wifi-cab stop
 
 ;;
 fault)
    echo "FAULT" > /tmp/keep.mode
    mongo_set_role slave
    service mongod restart
 ;;
 *)
    echo "Usage: $0 {master|backup|fault}"
    exit 1
esac

lockfile-remove /tmp/keep.mode.lock;

exit 0

...

 В директорию /var/lib/proxysql/ необходимо добавить следующий скрипт read_only_switch.sh и назначить на него права выполнения (sudo chmod +x read_only_switch.sh):

Блок кода
#!/bin/bash
MASTER_HOST="<ip_server_master>"
SLAVE_HOST="<ip_server_slave>"
MYSQL_USER="javauser"
MYSQL_PASS="javapassword"

# Проверяем доступность мастера
if mysqladmin -h $MASTER_HOST -u $MYSQL_USER -p$MYSQL_PASS ping; then
    # Мастер доступен, убедимся, что он в read-write
    mysql -h $MASTER_HOST -u $MYSQL_USER -p$MYSQL_PASS -e "SET GLOBAL read_only = 0;"
    # Установить слейв в read-only, если он был временно переключен
    mysql -h $SLAVE_HOST -u $MYSQL_USER -p$MYSQL_PASS -e "SET GLOBAL read_only = 1;"
else
    # Если мастер недоступен, переключаем слейв в read-write
    mysql -h $SLAVE_HOST -u $MYSQL_USER -p$MYSQL_PASS -e "SET GLOBAL read_only = 0;"
fi

...

Блок кода
# На слейве
stop slave;
change master to  master_host='<IP MASTER>',  master_port=5890,  master_user='replication',  master_password='password',  master_use_gtid=slave_pos;
start slave;

# На мастере
stop slave;
change master to  master_host='<IP SLAVE>',  master_port=5890,  master_user='replication',  master_password='password',  master_use_gtid=slave_pos;
start slave;

Смена версии mysql, которую отдает proxysql

Заходим в административную консоль, изменяем переменную:

Без форматирования
update global_variables set variable_value='5.7.19' where variable_name='mysql-server_version';

Загружаем изменения в оперативную конфигурацию proxysql:

Без форматирования
load mysql variables to runtime;

Сохраняем изменения:

Без форматирования
save mysql variables to disk;

Проверяем значение переменной:

Без форматирования
show variables like 'mysql-server_version';


Добавление/удаление/отключение сервера

...