Appendix A. MySQL Proxy

In a simple client/server model, a client sends a request to a server, which will then send results back. This is true for all sorts of servers—including web servers, e-mail servers, and database servers. A proxy sits in between the client and server, intercepting traffic that travels back and forth. MySQL Proxy is a proxy tool that sits between a client and mysqld instance, intercepting client traffic to the server and server traffic from the server.

MySQL Proxy runs on most operating systems: Linux, Windows, Solaris, Mac OS X, and more. Using MySQL Proxy, you can:

  • Load balance queries to mysqld:

    • In a round-robin fashion

    • By function (read/write)

    • By table/database

    • To share data

  • Perform custom caching

  • Create and utilize connection pools

  • Create macros and extend the commands mysqld understands

  • Filter queries

  • Enforce permissions based on username or hostname

  • Transform queries

  • Perform custom logging

    • Turn logs on and off on the fly

    • Log specific queries

    • Log queries based on tables/databases/columns accessed

    • To share data

  • Analyze queries and gather statistics

MySQL Proxy is an open source tool that is simple and powerful; Sun Microsystems, Inc. is using it to create products for sale such as their query analyzer. As of the time this book was written, MySQL Proxy was in alpha status, and our examples use version 0.6.0. However, many organizations ...

Get MySQL® Administrator's Bible now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.