Установка 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