Установка и настройка MysqlRouter на debian/ubuntu — балансировщика нагрузки mysql

Установка Mysql Router на debian/ubuntu

Что такое mysqlrouter
Как мы види из названия, mysqlrouter это решения для балансировки mysql баз данных. Т.е. благодаря нему можно создать отказоустойчивое решения, которое будет бегать по базам, и, в зависимости от конфига, записывать-читать, только читать данные из баз данных. По данному решению мало информации. Решил написать малый туториал по сборке и быстрому запуску.

Установка mysql router

Устанавливаем зависимости

sudo apt-get install build-essential cmake doxygen libpolarssl-dev libnl-utils libmysqlclient-dev checkinstall

Скачиваем, собираем и устанавливаем mysqlrouter

Сборка и установка mysqlrouter

wget https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.0.3.tar.gz
tar -xfv mysql-router-2.0.3.tar.gz
cd mysql-router-2.0.3
mkdir build
cd build
cmake ..
make
sudo checkinstall

Установка закончена
Проверяем версию

human@router-2-74:~$ mysqlrouter —version
MySQL Router v2.0.3 on Linux (64-bit) (GPL community edition)

Настройа mysqlrouter

Создаем файл конфиг в папке /etc/mysql
sudo nano /etc/mssql/mysqlrouter.ini

Вставляем туда данный конфиг:

[DEFAULT]
logging_folder = /var/log
runtime_folder = /var/run
plugin_folder = /usr/local/lib/mysqlrouter
config_folder = /etc/mysql
[logger]
level = info
[keepalive]
interval = 60
client_connect_timeout = 9
[routing:basic_failover]
bind_address = 0.0.0.0:7001
mode = read-write
destinations = mysql-1-81
wait_timeout = 100
[routing:reporting]
bind_address = 0.0.0.0:7002
mode = read-only
destinations = mysql-1-81,mysql-1-82

Где
bind_address— адрес и порт на котором будет доступен mysql (в кофниге указано 0.0.0.0 — значит будет доступен из сети, так же мы видим 2 порта 7001 и 7002, это значит что, что на ip машины с mysqlrouter по адресу, ну, допустим 10.4.1.74, и порте 7001 будет доступен mysql-1-81, а на 10.4.1.74:7002 — будет балансировать 2 сервера mysql-1-81,mysql-1-82.
destination — ноды на которых крутится mysql , я прописал их в хостах.(/etc/hosts)

Запуск mysqlrouter

Запуск осуществляется из консоли

sudo mysqlrouter -c /etc/mysql/mysqlrouter.ini
— запуск mysqlrouter с файлом конфига /etc/mysql/mysqlrouter.ini, т.е. вы можете запускать и тестировать mysqlrouter с другим конфигом, просто поменяв файл конфига.

Для подключения к базе данных через порт с сервера mysqlrouter используйте команду:
mysql -uroot —port 7001 —protocol tcp

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *