mysqlsla parses, filters, analyzes and sorts MySQL slow, general, binary and microslow patched logs in order to create a customizable report of the queries and their meta-property values.

Since these reports are customizable, they can be used for human consumption or be fed into other scripts to further analyze the queries. For example, to profile with mk-query-profiler (a script from Baron Schwartz's Maatkit) every unique SELECT statement using database foo from a slow log:

         mysqlsla -lt slow slow.log -R print-unique -mf "db=foo" -sf "+SELECT" | \
         mk-query-profiler -separate -database foo


In brief, mysqlsla is a liaison allowing other scripts easy access to queries from a MySQL log. For a quick introduction to what mysqlsla is capable of doing, take a glance at the guide.

The mysqlsla Library

» Guide: Covers installation, basic usage, reports, special topics and advancing

» Documentation: Complete list of command line options, limitations, future features and bugs

» Filters: Overview of mysqlsla v2 log filters

» Reports: Creating and customizing mysqlsla v2 standard reports

» Replays: Working with mysqlsla v2 log replays

» User-Defined Logs (UDL): Creating mysqlsla v2 and MySQL::Log::ParseFilter user-defined logs

Download mysqlsla

Current version: mysqlsla-2.03 (Changes)
  • Installer + man page: mysqlsla-2.03.tar.gz
  • Script only: wget

v1.x Retired

Looking for mysqlsla v1.7a or 1.8-DEBUG? The v1 branch has been retired and is no longer supported. The older versions can still be accessed at