In the last 3 month of development we added a lot more features to the proxy-core which should bring the proxy closer to your needs. As always the proxy is transparent to your application, no requirement for a special language, no special needs for a platform and all customizable for your needs.
The most powerful feature is Read/Write Splitting which allows you to scale a application which is unaware of replication automaticly cross several slaves without changes to your application. Instance Scale Out we say.
The Proxy also became a 1st class citizen in the MySQL world with full docs, win32 support and easy to install.
The most powerful feature for all users looking for scale out. Read about the details and how we handle the special cases in the lua-scripting layer.
By just passing through the queries and utilizing a SQL tokenizer we are now able to analyze Queries and build statistics across them to make it easier for you to tune your SQL and decide which queries you want to concentrate on most.
More interesting for the futures are the ideas around the Global Transaction ID which tags Transactions automaticly and globally in your replication setup. Very useful if you have to know if a slave knows about your last transaction on the master or when you have to turn a slave into a master:
LUA Scripting + Tutorials
We don't want to forget that all the above features are driving a by scripting engine. All the code is included and documented in the package and we made sure that the tutorials cover all pieces of the proxy. Read http://dev.mysql.com/tech-resources/articles/proxy-gettingstarted.html as a jump start.
Query Filtering and Blocking
You can use the proxy to block users or log the whole authentication face to see which users fail to log in and use the wrong passwords. Or how about filtering SQL injections before they hit the server ? The proxy gives you access to this information.
--no-proxyto disable the proxy
- added test-cases
- added support for proxy.response.packets
- added hooks for
- added support in
read_query_result()to overwrite the result-set
- added connection pooling
- added a global lua-scope
- added support for listening UNIX sockets
- added handling of
read_query()aka read/write splitting
added tokenizer for the SQL syntax
fixed decoding of len-encoded ints for 3-byte notation
- fixed check for glib2 to require at least 2.6.0
- fixed mem-leak with proxy.response.* is used
- fixed handling of (SQL) NULL in result-sets
- fixed inj.resultset.affected_rows on SELECT queries
- fixed len-encoding on
- fixed assertion when all backends are down and we try to connect
- fixed assertion when connection to the MySQL 6.0.1
- fixed crash if proxy.connection is used in
- fixed connection-stalling if
- fixed assertion at
- fixed assertion at login with empty password + empty default db (#29719)
- fixed assertion on result-packets like
[ field-len | fields | EOF | ERR ](#29732)
- fixed compilation on win32
- fixed assertion on