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

MySQL Proxy 0.5.0 released

It has gotten a bit quiet around the MySQL Proxy over the last weeks, but I can assure you it was worth it.

Here in my hands I hold MySQL Proxy 0.5.0. Not just some binaries, no everything with sources. As always it is dual licensed under the ...

more ...

SQL parser in rage(l)

For the mysql-proxy I'm exploring several ways to write a small SQL parser for the internal commands. As I want to use basic SQL to modify the config and the internal operations I need a parser. Some time ago I used lemon which is used in sqlite3, which is ...

more ...

UDF

UDF_LUA

You are tired of writing your UDFs for MySQL in C or never wanted to write them in C at all ? How about writing them in lua ?

LUA is - easy to learn - easy to embed - easy to use

and not to forget lua has extensions for everything: - LuaSocket - how ...

more ...


MySQL Proxy

Over the last weeks I wrote a mysql-proxy which changes the way you operate with the MySQL Server.

client to server

A proxy can operate as Man in the Middle and pass through to network packets to the MySQL Server, but it also change the packets when needed. This opens the several possibilities ...

more ...

MySQL Proxy, reverse mode + source

The MySQL proxy got some final touches to make it ready for the first release:

  • a command-line interface
  • some more mode descriptions for the different modes of operation

You can choose between three modes for now:

  • pseudo server
  • injection proxy

injection proxy * replication client

replication client

For the future we plan:

  • connection pooling

connection pooling * replication ...

more ...

lua

lua + FastCGI

I was looking for a FastCGI backend for lua to have a asynchronous brother for mod-magnet in lighttpd.

Same as mod-magnet this embedding of lua is not meant to replace Frameworks like Rails or Spring, nor do I want to write average PHP application in it. I use ...

more ...