33#ifndef MYSQL_ABI_CHECK
42#define MYSQL_AUDIT_INTERFACE_VERSION 0x0401
124#define MYSQL_AUDIT_GENERAL_ALL \
125 (MYSQL_AUDIT_GENERAL_LOG | MYSQL_AUDIT_GENERAL_ERROR | \
126 MYSQL_AUDIT_GENERAL_RESULT | MYSQL_AUDIT_GENERAL_STATUS)
148#define MYSQL_AUDIT_CONNECTION_ALL \
149 (MYSQL_AUDIT_CONNECTION_CONNECT | MYSQL_AUDIT_CONNECTION_DISCONNECT | \
150 MYSQL_AUDIT_CONNECTION_CHANGE_USER | \
151 MYSQL_AUDIT_CONNECTION_PRE_AUTHENTICATE)
201#define MYSQL_AUDIT_PARSE_ALL \
202 (MYSQL_AUDIT_PARSE_PREPARSE | MYSQL_AUDIT_PARSE_POSTPARSE)
249#define MYSQL_AUDIT_AUTHORIZATION_ALL \
250 (MYSQL_AUDIT_AUTHORIZATION_USER | MYSQL_AUDIT_AUTHORIZATION_DB | \
251 MYSQL_AUDIT_AUTHORIZATION_TABLE | MYSQL_AUDIT_AUTHORIZATION_COLUMN | \
252 MYSQL_AUDIT_AUTHORIZATION_PROCEDURE | MYSQL_AUDIT_AUTHORIZATION_PROXY)
300#define MYSQL_AUDIT_TABLE_ACCESS_ALL \
301 (MYSQL_AUDIT_TABLE_ACCESS_READ | MYSQL_AUDIT_TABLE_ACCESS_INSERT | \
302 MYSQL_AUDIT_TABLE_ACCESS_UPDATE | MYSQL_AUDIT_TABLE_ACCESS_DELETE)
338#define MYSQL_AUDIT_GLOBAL_VARIABLE_ALL \
339 (MYSQL_AUDIT_GLOBAL_VARIABLE_GET | MYSQL_AUDIT_GLOBAL_VARIABLE_SET)
365#define MYSQL_AUDIT_SERVER_STARTUP_ALL (MYSQL_AUDIT_SERVER_STARTUP_STARTUP)
391#define MYSQL_AUDIT_SERVER_SHUTDOWN_ALL (MYSQL_AUDIT_SERVER_SHUTDOWN_SHUTDOWN)
431#define MYSQL_AUDIT_COMMAND_ALL \
432 (MYSQL_AUDIT_COMMAND_START | MYSQL_AUDIT_COMMAND_END)
473#define MYSQL_AUDIT_QUERY_ALL \
474 (MYSQL_AUDIT_QUERY_START | MYSQL_AUDIT_QUERY_NESTED_START | \
475 MYSQL_AUDIT_QUERY_STATUS_END | MYSQL_AUDIT_QUERY_NESTED_STATUS_END)
506#define MYSQL_AUDIT_STORED_PROGRAM_ALL (MYSQL_AUDIT_STORED_PROGRAM_EXECUTE)
558#define MYSQL_AUDIT_AUTHENTICATION_ALL \
559 (MYSQL_AUDIT_AUTHENTICATION_FLUSH | \
560 MYSQL_AUDIT_AUTHENTICATION_AUTHID_CREATE | \
561 MYSQL_AUDIT_AUTHENTICATION_CREDENTIAL_CHANGE | \
562 MYSQL_AUDIT_AUTHENTICATION_AUTHID_RENAME | \
563 MYSQL_AUDIT_AUTHENTICATION_AUTHID_DROP)
597#define MYSQL_AUDIT_MESSAGE_ALL \
598 (MYSQL_AUDIT_MESSAGE_INTERNAL | MYSQL_AUDIT_MESSAGE_USER)
#define MYSQL_THD
Definition: backup_page_tracker.h:37
enum_server_command
A list of all MySQL protocol commands.
Definition: my_command.h:47
enum_sql_command
Definition: my_sqlcommand.h:45
enum enum_sql_command enum_sql_command_t
SQL command type definition.
Definition: plugin_audit.h:106
enum enum_server_command enum_server_command_t
Server command type definition.
Definition: plugin_audit.h:438
mysql_event_global_variable_subclass_t
Events for MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS event class.
Definition: plugin_audit.h:331
@ MYSQL_AUDIT_GLOBAL_VARIABLE_SET
Occurs when global variable is set.
Definition: plugin_audit.h:335
@ MYSQL_AUDIT_GLOBAL_VARIABLE_GET
Occurs when global variable is retrieved.
Definition: plugin_audit.h:333
mysql_event_server_startup_subclass_t
Events for MYSQL_AUDIT_SERVER_STARTUP_CLASS event class.
Definition: plugin_audit.h:360
@ MYSQL_AUDIT_SERVER_STARTUP_STARTUP
Occurs after all subsystem are initialized during system start.
Definition: plugin_audit.h:362
mysql_event_general_subclass_t
Events for the MYSQL_AUDIT_GENERAL_CLASS event class.
Definition: plugin_audit.h:113
@ MYSQL_AUDIT_GENERAL_ERROR
occurs before transmitting errors to the user.
Definition: plugin_audit.h:117
@ MYSQL_AUDIT_GENERAL_STATUS
occurs after transmitting a resultset or errors
Definition: plugin_audit.h:121
@ MYSQL_AUDIT_GENERAL_LOG
occurs before emitting to the general query log.
Definition: plugin_audit.h:115
@ MYSQL_AUDIT_GENERAL_RESULT
occurs after transmitting a resultset to the user.
Definition: plugin_audit.h:119
mysql_event_command_subclass_t
Events for MYSQL_AUDIT_COMMAND_CLASS event class.
Definition: plugin_audit.h:424
@ MYSQL_AUDIT_COMMAND_START
Command start event.
Definition: plugin_audit.h:426
@ MYSQL_AUDIT_COMMAND_END
Command end event.
Definition: plugin_audit.h:428
mysql_event_table_access_subclass_t
Events for MYSQL_AUDIT_TABLE_ACCESS_CLASS event class.
Definition: plugin_audit.h:286
@ MYSQL_AUDIT_TABLE_ACCESS_READ
Occurs when table data are read.
Definition: plugin_audit.h:288
@ MYSQL_AUDIT_TABLE_ACCESS_DELETE
Occurs when table data are deleted.
Definition: plugin_audit.h:294
@ MYSQL_AUDIT_TABLE_ACCESS_UPDATE
Occurs when table data are updated.
Definition: plugin_audit.h:292
@ MYSQL_AUDIT_TABLE_ACCESS_INSERT
Occurs when table data are inserted.
Definition: plugin_audit.h:290
mysql_event_authentication_subclass_t
Events for MYSQL_AUDIT_AUTHENTICATION_CLASS event class.
Definition: plugin_audit.h:540
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_CREATE
Generated after CREATE USER | CREATE ROLE.
Definition: plugin_audit.h:544
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_RENAME
Generated after RENAME USER.
Definition: plugin_audit.h:553
@ MYSQL_AUDIT_AUTHENTICATION_CREDENTIAL_CHANGE
Generated after credential change through:
Definition: plugin_audit.h:551
@ MYSQL_AUDIT_AUTHENTICATION_FLUSH
Generated after FLUSH PRIVILEGES.
Definition: plugin_audit.h:542
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_DROP
Generated after DROP USER.
Definition: plugin_audit.h:555
mysql_event_authorization_subclass_t
Events for MYSQL_AUDIT_AUTHORIZATION_CLASS event class.
Definition: plugin_audit.h:235
@ MYSQL_AUDIT_AUTHORIZATION_TABLE
Occurs when table privilege is checked.
Definition: plugin_audit.h:240
@ MYSQL_AUDIT_AUTHORIZATION_PROXY
Occurs when proxy privilege is checked.
Definition: plugin_audit.h:246
@ MYSQL_AUDIT_AUTHORIZATION_COLUMN
Occurs when column privilege is checked.
Definition: plugin_audit.h:242
@ MYSQL_AUDIT_AUTHORIZATION_USER
Definition: plugin_audit.h:236
@ MYSQL_AUDIT_AUTHORIZATION_DB
Occurs when database privilege is checked.
Definition: plugin_audit.h:238
@ MYSQL_AUDIT_AUTHORIZATION_PROCEDURE
Occurs when procedure privilege is checked.
Definition: plugin_audit.h:244
mysql_event_query_subclass_t
Events for MYSQL_AUDIT_QUERY_CLASS event class.
Definition: plugin_audit.h:462
@ MYSQL_AUDIT_QUERY_START
Query start event.
Definition: plugin_audit.h:464
@ MYSQL_AUDIT_QUERY_NESTED_STATUS_END
Nested query status end event.
Definition: plugin_audit.h:470
@ MYSQL_AUDIT_QUERY_NESTED_START
Nested query start event.
Definition: plugin_audit.h:466
@ MYSQL_AUDIT_QUERY_STATUS_END
Query post parse event.
Definition: plugin_audit.h:468
mysql_event_parse_rewrite_plugin_flag
Definition: plugin_audit.h:204
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_QUERY_REWRITTEN
mysql_event_parse::flags Must be set by a plugin if the query is rewritten.
Definition: plugin_audit.h:208
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_IS_PREPARED_STATEMENT
mysql_event_parse::flags Is set by the server if the query is prepared statement.
Definition: plugin_audit.h:211
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_NONE
Definition: plugin_audit.h:205
mysql_event_server_shutdown_subclass_t
Events for MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS event class.
Definition: plugin_audit.h:386
@ MYSQL_AUDIT_SERVER_SHUTDOWN_SHUTDOWN
Occurs when global variable is set.
Definition: plugin_audit.h:388
mysql_event_parse_subclass_t
Events for MYSQL_AUDIT_PARSE_CLASS event class.
Definition: plugin_audit.h:194
@ MYSQL_AUDIT_PARSE_POSTPARSE
occurs after the query parsing.
Definition: plugin_audit.h:198
@ MYSQL_AUDIT_PARSE_PREPARSE
occurs before the query parsing.
Definition: plugin_audit.h:196
mysql_event_class_t
Audit event classes.
Definition: plugin_audit.h:49
@ MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS
Definition: plugin_audit.h:57
@ MYSQL_AUDIT_AUTHENTICATION_CLASS
Definition: plugin_audit.h:61
@ MYSQL_AUDIT_STORED_PROGRAM_CLASS
Definition: plugin_audit.h:60
@ MYSQL_AUDIT_MESSAGE_CLASS
Definition: plugin_audit.h:62
@ MYSQL_AUDIT_GENERAL_CLASS
Definition: plugin_audit.h:50
@ MYSQL_AUDIT_SERVER_STARTUP_CLASS
Definition: plugin_audit.h:56
@ MYSQL_AUDIT_PARSE_CLASS
Definition: plugin_audit.h:52
@ MYSQL_AUDIT_CLASS_MASK_SIZE
Definition: plugin_audit.h:64
@ MYSQL_AUDIT_QUERY_CLASS
Definition: plugin_audit.h:59
@ MYSQL_AUDIT_COMMAND_CLASS
Definition: plugin_audit.h:58
@ MYSQL_AUDIT_AUTHORIZATION_CLASS
Definition: plugin_audit.h:53
@ MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS
Definition: plugin_audit.h:55
@ MYSQL_AUDIT_TABLE_ACCESS_CLASS
Definition: plugin_audit.h:54
@ MYSQL_AUDIT_CONNECTION_CLASS
Definition: plugin_audit.h:51
mysql_server_shutdown_reason_t
Server shutdown reason.
Definition: plugin_audit.h:398
@ MYSQL_AUDIT_SERVER_SHUTDOWN_REASON_ABORT
The server aborts.
Definition: plugin_audit.h:402
@ MYSQL_AUDIT_SERVER_SHUTDOWN_REASON_SHUTDOWN
User requested shut down.
Definition: plugin_audit.h:400
mysql_event_stored_program_subclass_t
Events for MYSQL_AUDIT_STORED_PROGRAM_CLASS event class.
Definition: plugin_audit.h:501
@ MYSQL_AUDIT_STORED_PROGRAM_EXECUTE
Stored program execution event.
Definition: plugin_audit.h:503
mysql_event_connection_subclass_t
Events for MYSQL_AUDIT_CONNECTION_CLASS event class.
Definition: plugin_audit_connection_types.h:36
mysql_event_message_subclass_t
Events for MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit_message_types.h:40
Definition: m_ctype.h:422
Definition: mysql_lex_string.h:39
Structure for MYSQL_AUDIT_AUTHENTICATION_CLASS event class.
Definition: plugin_audit.h:570
mysql_event_authentication_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:572
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:578
bool is_role
AuthorizationID type.
Definition: plugin_audit.h:594
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:582
MYSQL_LEX_CSTRING new_user
New user name.
Definition: plugin_audit.h:590
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:580
MYSQL_LEX_CSTRING user
User name.
Definition: plugin_audit.h:584
MYSQL_LEX_CSTRING new_host
New host name.
Definition: plugin_audit.h:592
int status
Event status.
Definition: plugin_audit.h:574
MYSQL_LEX_CSTRING host
Host name.
Definition: plugin_audit.h:586
unsigned int connection_id
Connection id.
Definition: plugin_audit.h:576
MYSQL_LEX_CSTRING authentication_plugin
Authentication plugin.
Definition: plugin_audit.h:588
Structure for MYSQL_AUDIT_AUTHORIZATION_CLASS event class.
Definition: plugin_audit.h:258
unsigned int connection_id
Connection id.
Definition: plugin_audit.h:264
MYSQL_LEX_CSTRING database
Database name.
Definition: plugin_audit.h:272
MYSQL_LEX_CSTRING table
Table name.
Definition: plugin_audit.h:274
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:268
int status
Event status.
Definition: plugin_audit.h:262
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:270
unsigned long requested_privilege
Requested authorization privileges.
Definition: plugin_audit.h:278
mysql_event_authorization_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:260
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:266
MYSQL_LEX_CSTRING object
Other name associated with the event.
Definition: plugin_audit.h:276
unsigned long granted_privilege
Currently granted authorization privileges.
Definition: plugin_audit.h:280
Event for MYSQL_AUDIT_COMMAND_CLASS event class.
Definition: plugin_audit.h:446
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:452
enum_server_command_t command_id
Command id.
Definition: plugin_audit.h:454
int status
Command event status.
Definition: plugin_audit.h:450
mysql_event_command_subclass_t event_subclass
Command event subclass.
Definition: plugin_audit.h:448
Structure for the MYSQL_AUDIT_CONNECTION_CLASS event class.
Definition: plugin_audit.h:157
int connection_type
Connection type:
Definition: plugin_audit.h:186
MYSQL_LEX_CSTRING user
User name of this connection.
Definition: plugin_audit.h:165
MYSQL_LEX_CSTRING ip
IP of the connection.
Definition: plugin_audit.h:175
mysql_event_connection_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:159
MYSQL_LEX_CSTRING external_user
External user name.
Definition: plugin_audit.h:169
MYSQL_LEX_CSTRING priv_user
Priv user name.
Definition: plugin_audit.h:167
MYSQL_LEX_CSTRING proxy_user
Proxy user used for this connection.
Definition: plugin_audit.h:171
MYSQL_LEX_CSTRING host
Connection host.
Definition: plugin_audit.h:173
MYSQL_LEX_CSTRING database
Database name specified at connection time.
Definition: plugin_audit.h:177
int status
Current status of the connection.
Definition: plugin_audit.h:161
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:163
Structure for the MYSQL_AUDIT_GENERAL_CLASS event class.
Definition: plugin_audit.h:132
int general_error_code
Definition: plugin_audit.h:134
MYSQL_LEX_CSTRING general_external_user
Definition: plugin_audit.h:144
mysql_event_general_subclass_t event_subclass
Definition: plugin_audit.h:133
unsigned long general_thread_id
Definition: plugin_audit.h:135
unsigned long long general_time
Definition: plugin_audit.h:140
MYSQL_LEX_CSTRING general_host
Definition: plugin_audit.h:142
MYSQL_LEX_CSTRING general_user
Definition: plugin_audit.h:136
MYSQL_LEX_CSTRING general_ip
Definition: plugin_audit.h:145
MYSQL_LEX_CSTRING general_command
Definition: plugin_audit.h:137
MYSQL_LEX_CSTRING general_sql_command
Definition: plugin_audit.h:143
unsigned long long general_rows
Definition: plugin_audit.h:141
CHARSET_INFO * general_charset
Definition: plugin_audit.h:139
MYSQL_LEX_CSTRING general_query
Definition: plugin_audit.h:138
Events for MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS event class.
Definition: plugin_audit.h:342
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:346
mysql_event_global_variable_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:344
MYSQL_LEX_CSTRING variable_value
Variable value.
Definition: plugin_audit.h:352
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:348
MYSQL_LEX_CSTRING variable_name
Variable name.
Definition: plugin_audit.h:350
Structure that stores key-value pair of the MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit_message_types.h:63
Structure for MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit.h:605
mysql_event_message_key_value_t * key_value_map
Key value map pointer.
Definition: plugin_audit.h:615
size_t key_value_map_length
Key value map length.
Definition: plugin_audit.h:617
mysql_event_message_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:607
MYSQL_LEX_CSTRING message
Message.
Definition: plugin_audit.h:613
MYSQL_LEX_CSTRING component
Component.
Definition: plugin_audit.h:609
MYSQL_LEX_CSTRING producer
Producer.
Definition: plugin_audit.h:611
Data for the MYSQL_AUDIT_PARSE events.
Definition: plugin_audit.h:215
MYSQL_LEX_CSTRING query
input: the original query text
Definition: plugin_audit.h:223
mysql_event_parse_subclass_t event_subclass
MYSQL_AUDIT_[PRE|POST]_PARSE event id.
Definition: plugin_audit.h:217
MYSQL_LEX_CSTRING * rewritten_query
output: returns the null-terminated rewritten query allocated by my_malloc()
Definition: plugin_audit.h:227
mysql_event_parse_rewrite_plugin_flag * flags
one of FLAG_REWRITE_PLUGIN_*
Definition: plugin_audit.h:220
Definition: plugin_audit.h:481
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:493
int status
Event status.
Definition: plugin_audit.h:485
mysql_event_query_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:483
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:489
MYSQL_LEX_CSTRING query
SQL query.
Definition: plugin_audit.h:491
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:487
Structure for MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS event class.
Definition: plugin_audit.h:410
mysql_event_server_shutdown_subclass_t event_subclass
Shutdown event.
Definition: plugin_audit.h:412
int exit_code
Exit code associated with the shutdown event.
Definition: plugin_audit.h:414
mysql_server_shutdown_reason_t reason
Shutdown reason.
Definition: plugin_audit.h:416
Structure for MYSQL_AUDIT_SERVER_STARTUP_CLASS event class.
Definition: plugin_audit.h:372
unsigned int argc
Command line arguments count.
Definition: plugin_audit.h:378
const char ** argv
Command line arguments.
Definition: plugin_audit.h:376
mysql_event_server_startup_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:374
Definition: plugin_audit.h:513
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:521
MYSQL_LEX_CSTRING name
Name of the stored program.
Definition: plugin_audit.h:527
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:523
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:519
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:517
mysql_event_stored_program_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:515
MYSQL_LEX_CSTRING database
The Database the procedure is defined in.
Definition: plugin_audit.h:525
void * parameters
Stored program parameters.
Definition: plugin_audit.h:529
Definition: plugin_audit.h:309
MYSQL_LEX_CSTRING query
SQL query.
Definition: plugin_audit.h:317
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:319
mysql_event_table_access_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:311
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:313
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:315
MYSQL_LEX_CSTRING table_name
Table name.
Definition: plugin_audit.h:323
MYSQL_LEX_CSTRING table_database
Database name.
Definition: plugin_audit.h:321
The descriptor structure that is referred from st_mysql_plugin.
Definition: plugin_audit.h:72
unsigned long class_mask[MYSQL_AUDIT_CLASS_MASK_SIZE]
An array of bits used to indicate what event classes that this plugin wants to receive.
Definition: plugin_audit.h:98
void(* release_thd)(MYSQL_THD)
Event occurs when the event class consumer is to be disassociated from the specified THD....
Definition: plugin_audit.h:84
int(* event_notify)(MYSQL_THD, mysql_event_class_t, const void *)
Invoked whenever an event occurs which is of any class for which the plugin has interest....
Definition: plugin_audit.h:92
int interface_version
Interface version.
Definition: plugin_audit.h:76