There are a several options and system variables related to the MariaDB Audit Plugin, once it has been installed. System variables can be displayed using the SHOW VARIABLES statement like so:
SHOW GLOBAL VARIABLES LIKE '%server_audit%'; +-------------------------------+-----------------------+ | Variable_name | Value | +-------------------------------+-----------------------+ | server_audit_events | CONNECT,QUERY,TABLE | | server_audit_excl_users | | | server_audit_file_path | server_audit.log | | server_audit_file_rotate_now | OFF | | server_audit_file_rotate_size | 1000000 | | server_audit_file_rotations | 9 | | server_audit_incl_users | | | server_audit_logging | ON | | server_audit_mode | 0 | | server_audit_output_type | file | | server_audit_query_log_limit | 1024 | | server_audit_syslog_facility | LOG_USER | | server_audit_syslog_ident | mysql-server_auditing | | server_audit_syslog_info | | | server_audit_syslog_priority | LOG_INFO | +-------------------------------+-----------------------+
To change the value of one of these variables, you can use the SET
statement, or set them at the command-line when starting MariaDB. It's recommended that you set them in the MariaDB configuration for the server like so:
[mariadb] ... server_audit_excl_users='bob,ted' ...
Below is a list of all system variables related to the Audit Plugin. See Server System Variables for a complete list of system variables and instructions on setting them. See also the full list of MariaDB options, system and status variables.
server_audit_events
--server-audit-events=value
string
CONNECT
, QUERY
, TABLE
(MariaDB Audit Plugin < 1.2.0) CONNECT
, QUERY
, TABLE
, QUERY_DDL
, QUERY_DML
(MariaDB Audit Plugin >= 1.2.0) CONNECT
, QUERY
, TABLE
, QUERY_DDL
, QUERY_DML
, QUERY_DCL
(MariaDB Audit Plugin >=1.3.0) CONNECT
, QUERY
, TABLE
, QUERY_DDL
, QUERY_DML
, QUERY_DCL
, QUERY_DML_NO_SELECT
(MariaDB Audit Plugin >= 1.4.4) server_audit_excl_users
SET GLOBAL server_audit_excl_users='user_foo, user_bar'
. CONNECT records aren't affected by this variable - they are always logged. The user is still logged if it's specified in server_audit_incl_users. --server-audit-excl-users=value
string
server_audit_file_path
--server-audit-file-path=value
string
server_audit.log
server_audit_file_rotate_now
--server-audit-rotate-now[={0|1}]
boolean
OFF
server_audit_file_rotate_size
--server-audit-rotate-size=#
numeric
1000000
server_audit_file_rotations
--server-audit-rotations=#
numeric
9
0
to 999
server_audit_incl_users
SET GLOBAL server_audit_incl_users='user_foo, user_bar'
. CONNECT records aren't affected by this variable - they are always logged. This setting has higher priority than server_audit_excl_users. So if the same user is specified both in incl_ and excl_ lists, they will still be logged. --server-audit-incl-users=value
string
server_audit_loc_info
string
server_audit_logging
SET GLOBAL server_audit_logging=on
If the server_audit_output_type is FILE, this will actually create/open the logfile so the server_audit_file_path should be properly specified beforehand. Same about the SYSLOG-related parameters. The logging is turned off by default. --server-audit-logging[={0|1}]
boolean
OFF
server_audit_mode
--server-audit-mode[=#]
server_audit_output_type
SET GLOBAL server_audit_output_type=file
file: log records will be saved into the rotating log file. The name of the file set by server_audit_file_path variable. syslog: log records will be sent to the local syslogd daemon with the standard <syslog.h> API. The default value is 'file'. --server-audit-output-type=value
enum
file
SYSLOG
or FILE
server_audit_query_log_limit
--server-audit-query-log-limit=#
numeric
1024
0
to 2147483647
server_audit_syslog_facility
--server-audit-syslog-facility=value
enum
LOG_USER
LOG_USER
, LOG_MAIL
, LOG_DAEMON
, LOG_AUTH
, LOG_SYSLOG
, LOG_LPR
, LOG_NEWS
, LOG_UUCP
, LOG_CRON
, LOG_AUTHPRIV
, LOG_FTP
, and LOG_LOCAL0
–LOG_LOCAL7
. server_audit_syslog_ident
--server-audit-syslog-ident=value
string
mysql-server_auditing
server_audit_syslog_info
--server-audit-syslog-info=value
string
server_audit_syslog_priority
--server-audit-syslog-priority=value
enum
LOG_INFO
LOG_EMERG
, LOG_ALERT
, LOG_CRIT
, LOG_ERR
, LOG_WARNING
, LOG_NOTICE
, LOG_INFO
, LOG_DEBUG
server_audit
OFF
- Disables the plugin without removing it from the mysql.plugins
table. ON
- Enables the plugin. If the plugin cannot be initialized, then the server will still continue starting up, but the plugin will be disabled. FORCE
- Enables the plugin. If the plugin cannot be initialized, then the server will fail to start with an error. FORCE_PLUS_PERMANENT
- Enables the plugin. If the plugin cannot be initialized, then the server will fail to start with an error. In addition, the plugin cannot be uninstalled with UNINSTALL SONAME
or UNINSTALL PLUGIN
while the server is running. --server-audit=val
enumerated
ON
OFF
, ON
, FORCE
, FORCE_PLUS_PERMANENT
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-audit-plugin-system-variables/