≡ Menu

MySQL Proxy Load balancing and Failover Tutorial

MySQL Proxy is a simple and new program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication. Its flexibility allows for a wide variety of use cases, including:
a) Load balancing
b) Failover
c) Query analysis
d) Query filtering and modification
e) and many more…

MySQL Proxy tutorial

Oreilly has published a nice tutorial using MySQL proxy application:

MySQL Proxy is a lightweight binary application standing between one or more MySQL clients and a server. The clients connect to the Proxy with the usual credentials, instead of connecting to the server. The Proxy acts as man-in-the-middle between client and server.

In its basic form, the Proxy is just a redirector. It gets an empty bucket from the client (a query), takes it to the server, fills the bucket with data, and passes it back to the client.

If that were all, the Proxy would just be useless overhead. There is a little more I haven’t told you yet. The Proxy ships with an embedded Lua interpreter. Using Lua, you can define what to do with a query or a result set before the Proxy passes them along.

MySQL Proxy Load balancing and Failover Tutorial - Logo

Download MySQL proxy

You can download MySQL proxy here

Share this on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 11 comments… add one }
  • matthias August 10, 2007, 4:11 pm

    Anyone tested this already? Sounds relly nice, but seems to be very new software…

  • FreeBSD Geek June 25, 2008, 11:38 pm

    Yes, anyone out there who have tested this? espcialy on a set of freebsd servers?

  • Wagner Bianchi April 21, 2009, 5:48 pm

    I have tested on a lab and it works fine. ItÅ› a new software and have something to improve.

  • dose July 2, 2009, 8:12 am

    mysql-proxy which running on freebsd 7.2 not open a port

  • Nikolay Mihaylov July 27, 2010, 7:39 am

    anyone tested proxy + replication and read-only / read-write back-ends ?

  • gaous afrizal March 11, 2011, 10:08 am

    actually i wanna try this for my final project undergraduate
    but is it possible to create load balancer based on performance from database server using this one? :)

  • yuki_1991 June 13, 2012, 8:33 am

    i jus try it this week and i think that is a great software and a easy one to perform a load balanced cluster, but mysql-proxy works with lua scripts and only works with one each time, you need to learn hot to program in lua to make a failover, load balanced cluster with mysql-proxy only..
    mysql-proxy can be great but it needs more time and development.

  • Pramod June 15, 2012, 2:32 am

    Hi Vivek ,

    Can use mysql proxy for the production which has 20lakhs hit to the page and lots of inserts and writes, and reads, Pleas guide me if yes like which version i have to use and, can you suggest me the read write lua scripts. if mysql proxy is not suitable what is the opensource alternate to split the mysql db.

    Advance thanks

  • Jimmy Burnett February 7, 2013, 3:01 pm

    This is in alpha and MySQL recommends not to use in production.

  • sreenadh May 12, 2013, 3:19 pm

    I’ve extensive experience on mysqlproxy. If anyone want to know the details, please ;et me know

    • Cyril January 27, 2014, 3:02 pm

      @sreenadh : I would be interest to find a workable failover script for Mysql-Proxy, if you have/know one, I would be really interested to try it !

      You can contact me via Twitter and we’ll share our email in DM.

      Thanks :)

Security: Are you a robot or human?

Leave a Comment

   Tagged with: , , , , , , ,