Installing Percona Audit Plugin on MySQL 5.6.21 community server

To be absolutely clear this plugin is alternative to the MySQL Enterprise Audit Plugin made by Percona.

This plugin is a part of Percona 5.6 version, so you can download the latest 5.6 version from ind extract .so file from there. After that you need to find your plugin folder:

 mysql> show global variables like '%plugin%';
| Variable_name | Value                    |
| plugin_dir    | /usr/lib64/mysql/plugin/ |
1 row in set (0.00 sec)

and copy the there. To instal the plugin:

mysql> INSTALL PLUGIN audit_log SONAME '';
Query OK, 0 rows affected (0.00 sec)

Now, options we can tweak here or at least most important of them:

  • audit_log_buffer_size; this buffer is used to cache the queries (for asynchronous operation).
  • audit_log_policy; we can log all queries or MySQL logins only (very useful if we only need to audit MySQL connections)
  • audit_log_format Permitted values are OLD, NEW, CSV and JSON (default OLD), more info here
  • audit_log_strategy; All options are listed in the documentation page:
    Dynamic Variable No
    Permitted Values
    Type enumeration
    Valid Values ASYNCHRONOUS


MySQL utilities provide a useful tool, mysqlauditgrep, to search and/or grep the logs file but you need to comment out rows 171 and 172 in file /usr/lib/python2.7/site-packages/mysql/utilities/common/

#                if self.header_rows:
#                    record['SERVER_ID'] = self.header_rows[0]['SERVER_ID']

to make it works. Also you need to remove the first empty row in audit.log file.


2 Replies to “Installing Percona Audit Plugin on MySQL 5.6.21 community server”

  1. Server version: 5.6.24 Source distribution

    mysql> INSTALL PLUGIN audit_log SONAME ‘’;
    ERROR 1126 (HY000): Can’t open shared library ‘/mysql-5.6.24/lib/plugin/’ (errno: 2 /mysql-5.6.24/lib/plugin/ undefined symbol: my_pthread_fastmutex_lock)

Leave a Reply

Your email address will not be published. Required fields are marked *