...
В директорию /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'; |
Добавление/удаление/отключение сервера
...