MySQL Proxy: playing with binlogs

In preparation for the MySQL UC and my session about binlogs I started to implement a first few ideas. In a short coding rush I moved some of the C-code from mysql-binlog-dump.c to the right places in the libraries and wrapped it nicely for Lua.

My overall goal is ...

more ...

MySQL Proxy: a shell with auto-EXPLAIN

A comment to the last article:

"I had trouble implementing something like this using mysql-proxy + lua. Basically I wanted a way to force the developers, when using dev systems by console, every query they execute also follow up with an EXPLAIN. The exact mechanics of it I still need to ...

more ...

MySQL Proxy: a shell with auto-SHOW WARNINGS

Last weekend I started a shell that is based on the core libs of the MySQL Proxy and now code is good enough to be really useful.

As the shell is internally driven with a lua-script it is very easy to change the display or the way how the result ...

more ...

MySQL Proxy: yet another mysql shell

I'm just back from a little vacation in the winter-wonderland and had some time on the train to spend. Thanks to power-plugs the 8hrs were well spent and ended up in a first, rough cut of a lua-customizable, mysql-shell that is based on the internals of the MySQL Proxy ...

more ...

MySQL Proxy: .address is now .dst|src.name

Luckily we are still in alpha for the MySQL Proxy which allows us to change the API from time to time.

One of these changes is now merged to trunk and will end up in 0.7.0 which will be packaged soon. Kay knows more.

As talked about in ...

more ...

MySQL Proxy: Lua classes

On the mailing lists we get the question from time to time:

How can I access internal information inside a proxy script ?

MC documented them in the manual, perhaps it is easier to get an idea if you see a picture instead.

The file is generated from a .dot file ...

more ...

MySQL Proxy: from 0.6.1 to 0.7.0

The MySQL Proxy was split into

  • a chassis which handles cmdline, service, logging, plugin loading
  • a core library for the life-cycle, network handling and protocol decoding
  • a lua layer wrapping around the internals
  • a set of plugins: proxy, admin, debug, replicant

It also contains a few tools that reuse the ...

more ...


Async MySQL Queries with C-API

I was wondering for quite a while if MySQLs C-API (libmysqlclient) can really do async queries and where it is lacking support.

Scanning through the source (sql/client.c) you see:

int mysql_real_query(MYSQL *mysql, const char *query, ulong length)
{

  if (mysql_send_query(mysql,query,length))
    return 1;

  return((int) (*mysql- ...
more ...