Consider the Mysql Enterprise Audit plugin.
A CSV file called data.csv has 100 rows of data.
The stored procedure prepare_db ( ) has 10 auditable statements.
You run the following statements in the mydb database:
Mysql> CALL prepare_db ( );
Mysql> LOAD DATA INFILE ‘/tmp/data.cav’ INTO TABLE mytable;
Mysql> SHOW TABLES;
How many events are added to the audit log as a result of the preceding statements?
A.
102; top-level statements are logged, but LOAD DATA INFILE is logged as a separate event.
B.
3; only the top-level statements are logged.
C.
111; top-level statements and all lower-level statements are logged.
D.
12; only top-level statements and stored procedure events are logged.
Explanation:
Reference: http://dev.mysql.com/doc/mysql-security-excerpt/5.5/en/audit-log-plugin-loggingcontrol.html
B.
To clarify answer B:
The MySQL server calls the audit log plugin to write an element whenever an auditable event occurs, such as when it completes execution of an SQL statement received from a client. Typically the first element written after server startup has the server description and startup options. Elements following that one represent events such as client connect and disconnect events, executed SQL statements, and so forth. Only top-level statements are logged, not statements within stored programs such as triggers or stored procedures. Contents of files referenced by statements such as LOAD DATA INFILE are not logged.
http://dev.mysql.com/doc/refman/5.6/en/audit-log-plugin-logging-control.html
Steve,
It mentioned contents of the file referenced by load data not logged . but load data statement should be logged right ?
B
It is B for sure.
It is a limitation that M. E. Audit can log in just top level statements
https://dev.mysql.com/doc/refman/5.5/en/audit-log-restrictions.html