MySQL Proxy: Das Modul

In the spirit of the MySQL Pluggable Storage Engines the proxy has a plugin infrastructure now.

The main goal was to cleanup the code so what the admin part and the proxy itself can be loaded at runtime.

The new code-layout looks like

  • mysql-proxy.c (codename: the cauldron)
  • takes care ...
more ...


MySQL Proxy: tape^H^H^Hest recorder

Test-Commander Eric was working on the log-replay task and as he is at my place right now, we have put our heads together to get a working prototype together.

---
-- log queries going throw the proxy on request and
-- provide a commands to work on the logged queries
--
-- * PROXY SET GLOBAL ...
more ...

MySQL Proxy: Adaptive Slow Query Log

Kris brought up a simple question:

Why do I have to set the slow-query-time by hand ? Why can't the server figure out the normal query time and tell me when something is unusual slow ?

In earlier articles I already talked about that the proxy can log the query-time in ...

more ...

MySQL Proxy: 0.6.0 released

MySQL Proxy 0.6.0 has been tagged and should hit the mirrors near you pretty soon.

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 ...

more ...

MySQL Proxy: Tracking Parallel Queries

In the Enterprise Team we had the need to track how many connections to the MySQL server in parallel. By "used" I mean running queries and not just idling around.

And to make it more complicated we needed the information not just every few seconds (while true; do echo "SHOW ...

more ...


MySQL Proxy: Query Stats

In one of the last commits I added a SQL Tokenizer which understands the basic tokens of (My)SQL:

  • Strings
  • Literals
  • Numbers
  • Comments
  • Operators

With this basic understanding we can normalize Queries and build statistics over similar queries.

The idea is simple and already implemented in mysqldumpslow:

  /* login.php:37 ...
more ...

MySQL Proxy and a Global Transaction ID

The idea is as old as Replication is:

How do you know which is the most current slave.

You can use the Master_Binlog_Pos to guess what is most up to date, but which transaction does this binlog position match ?

With the proxy you can add a global transaction ID to ...

more ...

MySQL Proxy learns R/W Splitting

The trunk version of the MySQL Proxy 0.6.0 just learnt about changing backends within running connection. It is now up to lua-script to decide which backend shall be used to send requests too.

We wrote a complete tutorial which covers everything from:

  • building and maintaining a connection pool ...
more ...