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-addresses
  • read_auth_result — обработчик авторизации клиента (обычно успешно авторизованное соединение записывается в пул соединений прокси-сервера)
  • read_query — эта функция вызывается при получении запроса от клиента и перед отправкой его на серверную часть
  • read_query_result — вызывается при получении результата выполнения запроса от сервера
  • disconnect_client — вызывается при закрытии соединения с сервером

Напишите отзыв о статье "MySQL proxy"

Ссылки

  • [mystic-one.com/2008/05/13/partial-mysql-proxy-api-doc/ Список объектов Lua в контексте MySQL Proxy]  (англ.)
  • [vasilec.blogspot.com/2009/01/mysql-failover.html Mysql-proxy failover ]
  • [www.linuxshare.ru/docs/mysql/mysql-proxy.html Несколько слов о MySQL proxy]

Отрывок, характеризующий MySQL proxy



Генералы Наполеона – Даву, Ней и Мюрат, находившиеся в близости этой области огня и даже иногда заезжавшие в нее, несколько раз вводили в эту область огня стройные и огромные массы войск. Но противно тому, что неизменно совершалось во всех прежних сражениях, вместо ожидаемого известия о бегстве неприятеля, стройные массы войск возвращались оттуда расстроенными, испуганными толпами. Они вновь устроивали их, но людей все становилось меньше. В половине дня Мюрат послал к Наполеону своего адъютанта с требованием подкрепления.
Наполеон сидел под курганом и пил пунш, когда к нему прискакал адъютант Мюрата с уверениями, что русские будут разбиты, ежели его величество даст еще дивизию.
– Подкрепления? – сказал Наполеон с строгим удивлением, как бы не понимая его слов и глядя на красивого мальчика адъютанта с длинными завитыми черными волосами (так же, как носил волоса Мюрат). «Подкрепления! – подумал Наполеон. – Какого они просят подкрепления, когда у них в руках половина армии, направленной на слабое, неукрепленное крыло русских!»
– Dites au roi de Naples, – строго сказал Наполеон, – qu'il n'est pas midi et que je ne vois pas encore clair sur mon echiquier. Allez… [Скажите неаполитанскому королю, что теперь еще не полдень и что я еще не ясно вижу на своей шахматной доске. Ступайте…]
Красивый мальчик адъютанта с длинными волосами, не отпуская руки от шляпы, тяжело вздохнув, поскакал опять туда, где убивали людей.
Наполеон встал и, подозвав Коленкура и Бертье, стал разговаривать с ними о делах, не касающихся сражения.
В середине разговора, который начинал занимать Наполеона, глаза Бертье обратились на генерала с свитой, который на потной лошади скакал к кургану. Это был Бельяр. Он, слезши с лошади, быстрыми шагами подошел к императору и смело, громким голосом стал доказывать необходимость подкреплений. Он клялся честью, что русские погибли, ежели император даст еще дивизию.