Bug #103616 | Audit log may record set statements that were not executed | ||
---|---|---|---|
Submitted: | 7 May 2021 5:57 | Modified: | 10 May 2021 8:02 |
Reporter: | Xiaodong Huang (OCA) | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Security: Audit | Severity: | S3 (Non-critical) |
Version: | 8.0.24 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[7 May 2021 5:57]
Xiaodong Huang
[7 May 2021 13:54]
MySQL Verification Team
Hello Xiaodong, Thank you for the report and feedback. regards, Umesh
[10 May 2021 8:02]
MySQL Verification Team
Hello Xiaodong, Our internal discussion concluded that this is an expected and documented behavior of audit log. Audit log will have record of all the executed SQL statements(STATUS will indicate i.e An unsigned integer representing the command status: 0 for success, nonzero if an error occurred) - more details at https://dev.mysql.com/doc/refman/8.0/en/audit-log-file-formats.html regards, Umesh
[10 May 2021 9:11]
Georgi Kodinov
One comment I'd like to add too: Most of the audit API events should be used for "pre-filtering" and only some of them (e.g. MYSQL_AUDIT_QUERY_STATUS_END) should be used for actual logging. It's all about the time when the event is generated. This particular event (MYSQL_AUDIT_GLOBAL_VARIABLE_SET) is generated at a time when the execution of the statement can easily be interrupted. It's not to signify that the event has actually been put into effect.