Backport of Percona Audit Plugin

Since yesterday, the new Percona Server (5.5.37-35.0) includes an audit plugin. This is the announcement on mysqlperformance blog. I needed to have this feature for a customer running an older version of Percona Server (5.5.33-31.1), so I back ported the plugin (revision 654) removing some extra info that is not available on previous version of Percona Server. The information above in struct mysql_event_general (include/mysql/plugin_audit.h) were not yet present: MYSQL_LEX_STRING general_host; MYSQL_LEX_STRING general_sql_command; MYSQL_LEX_STRING general_external_user; MYSQL_LEX_STRING general_ip; Additionally, as I needed to parse the audit log quickly, I added a new format (CSV) to replace both implementation of XML output (OLD & NEW). This is an example of the new output:
AUDIT_RECORD - Audit::35531_2014-05-07T06:15:32::2014-05-07T06:15:36 UTC::5.5.33-31.1::--basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/percona1.err --pid-file=/var/lib/mysql/percona1.pid::x86_64-Linux
AUDIT_RECORD - Connect,35532_2014-05-07T06:15:32,2014-05-07T06:16:04 UTC,1,0,root,root,,,localhost,
AUDIT_RECORD - Query::35533_2014-05-07T06:15:32::2014-05-07T06:16:04 UTC::1::0::select @@version_comment limit 1::root[root] @ localhost []
AUDIT_RECORD - Query::35534_2014-05-07T06:15:32::2014-05-07T06:16:20 UTC::1::0::SELECT DATABASE()::root[root] @ localhost []
AUDIT_RECORD - Init DB::35535_2014-05-07T06:15:32::2014-05-07T06:16:20 UTC::1::0::(null)::root[root] @ localhost []
AUDIT_RECORD - Query::35536_2014-05-07T06:15:32::2014-05-07T06:16:20 UTC::1::0::show databases::root[root] @ localhost []
AUDIT_RECORD - Query::35537_2014-05-07T06:15:32::2014-05-07T06:16:20 UTC::1::0::show tables::root[root] @ localhost []
AUDIT_RECORD - Field List::35538_2014-05-07T06:15:32::2014-05-07T06:16:20 UTC::1::0::::root[root] @ localhost []
AUDIT_RECORD - Field List::35539_2014-05-07T06:15:32::2014-05-07T06:16:20 UTC::1::0::::root[root] @ localhost []
AUDIT_RECORD - Query::35540_2014-05-07T06:15:32::2014-05-07T06:16:23 UTC::1::0::show databases::root[root] @ localhost []
AUDIT_RECORD - Query::35541_2014-05-07T06:15:32::2014-05-07T06:16:27 UTC::1::0::SELECT DATABASE()::root[root] @ localhost []
AUDIT_RECORD - Init DB::35542_2014-05-07T06:15:32::2014-05-07T06:16:27 UTC::1::0::(null)::root[root] @ localhost []
AUDIT_RECORD - Query::35543_2014-05-07T06:15:32::2014-05-07T06:16:29 UTC::1::0::show tables::root[root] @ localhost []
AUDIT_RECORD - Query::35544_2014-05-07T06:15:32::2014-05-07T06:16:34 UTC::1::0::select * from t::root[root] @ localhost []
The patch is available below and the compiled plugin for Centos 6 x86_64 for Percona Server 5.5.33-rel31. Update: I've now added the
code in launchpad and changed the default audit format to CVS, so the first time the plugin is loaded, CVS is used and no need to restart mysqld to enable CVS.

MySQL Community Awards 2014 : Community Contributor of the year 2014

At Percona Live MySQL Conference & Expo (PLMCE), I had the honor to receive a MySQL Community Award for the "Community Contributor of the year 2014". I was so proud and still I am. This is the reason why I received it: Frederic organizes the MySQL & Friends Devroom at FOSDEM every year. He worked towards making a true community driven event participated by all key players. in 2014 the MySQL & Friends devroom also presented a shared booth/stand regrouping Oracle, MariaDB/SkySQL and Percona engineers and developers. But this Award can't be only mine, I need to share it with all people that helped me in this adventure and that makes it possible. FOSDEM MySQL & Friends Devroom is maybe now the second best event in Europe after Percona Live UK (PLUK). I'm sorry, "apologies upfront" (some people will understand this sentence), but I'll now thanks all the people that deserves it and the list is long: - FOSDEM, for the acceptance of the MySQL & Friends Devroom every year since 2009. - Kris sdog Buytaert, who encouraged me to give my first talk in the MySQL Devroom in 2010. - Lenz Grimmer, to have run the devroom at the beginning - Giuseppe @datacharmer Maxia, for having helped me and introduced me to key players in the Community to be able to create every year a strong Committee with people of different companies and opensource projects - Colin @bytebot Charles, for having participate to all these devrooms as visitor, speaker and committee member (and congratulation for the Award too) - Sergey Petrunia who also helped me the first year I was in charge of the devroom - Henrik @h_ingo Ingo, who was a model for me in how he represented the Open Source in the MySQL ecosystem (you can come back whenever you want) - Oracle, Tungsten, SkySQL, MariaDB, Percona to have allowed their engineers to travel, speak and share the booth with each others - All committee members - All speakers (2014, 2013,2012) - All attendees - and last but not least the Percona Belgian Team, Liz @lizztheblizz van Dijk, Dimitri @dim0 Vanoverbeke and Kenny @gryp Gryp who supported me for the logistic and organized a wonderful Community Dinner this year. Again thank you everybody, this award is our award to all of us !

Add your favorite webradio in Rhythmbox

If like me you like to listen radio while working on your computer but you don't like to have it open on a webpage. And if you find very useful the way how rhythmbox mutes itself when you get a call, you need then to add your radio in your favourite audio program. The problem is that it's not always obvious to find the url to use for the radio media. So this is how to proceed:
  • you need to install ngrep
  • run it like this :
       ngrep -d p3p1 -lqi -p -W none ^get\|^post tcp dst port 80
    
    (-d p3p1 is used to specify the interface if you have multiple choices)
  • open in your browser the page you use to listen the radio usually
  • find the stream you are looking for in ngrep's output:
  • add it to rhythmbox and you are done ;)

sysbench 0.5 rev 119

I recreated rpms for the latest revision (119) of sysbench. I made them available for Fedora 19 and CentOS 6. Enjoy !

Comments will need approval from now

As this blog is now hammered by spam spam spam, I decided to disable the publication of comments without approval. Even with Mollon, this is becoming a nightmare ! Sorry for the annoyance, but there is no alternative currently. Thank you for your understanding.

OSS4B – Presenting in Italy

I will be present in Prato (Firenze), Italy Thursday and Friday (September 19th and 20th) to deliver 2 presentations at OSS4B: If you want to learn about these projects or discuss anything related to MySQL and Percona, join the conference and don't hesitate to come to talk to me. I will be very happy to answer your questions. Ci vediamo in Prato !

innotop with support for 5.6

My colleague Kenny hit a bug with Innotop and MySQL 5.6. He submitted a bug with a patch. This is a new pre-release rpm of Innotop (1.9.0-3) that includes that patch. Enjoy it ! [UPDATE] New rpms are now available directly on Innotop's download page

Percona Live MySQL Conference & Expo 2013

For my first participation to THE MySQL event of the year, I have the honour of delivering a full day tutorial on Opetational DBA in a nutshell with my two Belgian colleagues (call us the be-team ;) ) and a lighting talk related to MySQL database schema migration: how to version them and manage those operations. If you don't want to miss THE essential event of the MySQL ecosystem, use code "SpeakMySQL" at checkout for 15% off! Register here: http://bit.ly/14au67Z. See you soon there !

As MySQL Community Manager, I am an employee of Oracle and the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

You can find articles I wrote on Oracle’s blog.