MySQL proxy
MySQL proxy — прокси-сервер, предназначенный для работы с базами данных MySQL.
Общее
MySQL proxy работает между сервером MySQL и клиентом, перенаправляя запросы от клиента к серверу. Имеет широкий набор возможностей (помимо непосредственно проксирования) за счет наличия встроенного языка Lua:
- реализация механизма failover;
- балансировка нагрузки;
- перехват, фильтрация, модификация запросов;
- обработка результатов выполнения запроса.
Опции
--proxy-backend-addresses — список бэкенд-серверов для балансировки запросов.
--proxy-read-only-backend-addresses — список readonly бэкендов-серверов.
--proxy-lua-script — скрипт Lua.
--daemon — запустить daemon-процесс (с версии 0.7 запускается по умолчанию).
Пример
mysql-proxy \
--proxy-backend-addresses=localhost:3306 \
--proxy-backend-addresses=localhost:3307 \
--proxy-read-only-backend-addresses=remotehost:3306 \
--proxy-read-only-backend-addresses=remotehost:3307 \
--proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua \
--daemon
Интерфейсная часть на Lua
connect_server
— вызывается при инициализации соединений с серверами, указанными в параметрах --proxy-backend-addresses и --proxy-read-only-backend-addressesread_auth_result
— обработчик авторизации клиента (обычно успешно авторизованное соединение записывается в пул соединений прокси-сервера)read_query
— эта функция вызывается при получении запроса от клиента и перед отправкой его на серверную частьread_query_result
— вызывается при получении результата выполнения запроса от сервераdisconnect_client
— вызывается при закрытии соединения с сервером
Ссылки
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.