Skip to content

INFORMATION_SCHEMA.PROCESSLIST

I requested this urgently for 5.1 and Brian made it happen: An information_schema table called processlist. This is the table version of the "SHOW FULL PROCESSLIST" output, and it is very cool. Using this table, you can create SQL to dig the processlist, and write stored procedures that spot, log and handle long running queries.

Even better: With the new log formats in 5.1, you can access the logs as CSV engine based SQL tables as well, and join the processlist table against the general query log or other logs. This allows you plenty of easy session tracing and easy profiling.

Even better: With the processlist table and 5.1 new feature "events" you can create new threads, monitor their execution, and in case of problems forcibly terminate them using other events or procedures. Or you can write a stored procedure using DROP USER to delete a user, and KILL this users connections afterwards to make sure that guy has been kicked.

The possibilities are endless.

A day in the docs

The most recent MySQL server I used in a production environment was a 3.23, so in conjunction with reading the 5.0 sources, I saw fit to reread large parts of the documentation to see where updates had happened, fixes were applied, extensions added. Here are some random clippings from the docs that illustrate quirks, changes from MySQL 3.23 (other than those noted in 3.23->4.0, 4.0->4.1, 4.1->5.0 which we'll give a brief tour of at the end) and differences from the standard. If you recently read the docs, kindly walk on, there's nothing to see here. If being a MySQL admin is #96 on the list of who you are, stand by for some trivia. Continue reading "A day in the docs"