在RDS for MySQL中一共支持两类事件,即一般事件和连接事件。一般事件可以理解为用户执行的DDL、DML和DCL语句。连接事件则是连接数据库(Connect)和断开连接(Disconnect)数据库。审计日志插件支持事件定义的相关代码如下。 static int is_event_class_allowed_by_policy(mysql_event_class_t event_class,num audit_log_...
static int is_event_class_allowed_by_policy(mysql_event_class_t event_class,num audit_log_policy_t policy) { static unsigned int class_mask[] = { /* ALL */ (1 << MYSQL_AUDIT_GENERAL_CLASS) | (1 << MYSQL_AUDIT_CONNECTION_CLASS), 0, /* NONE */ (1 << MYSQL_AUDIT_CONNECTION_C...
审计日志功能在RDS for MySQL内核的入口函数是mysql_audit_notify。通过对应事件驱动审计日志插件的工作。主要工作流程调用栈如下所示。 do_command->dispatch_commnad->mysql_audit_notify->event_class_dispatch// 检查当前插件是否需要处理此事件->plugin_dispatch// 按事件类别下发审计任务->audit_log_notify 数据...
审计日志功能在RDS for MySQL内核的入口函数是mysql_audit_notify。通过对应事件驱动审计日志插件的工作。...
SQL语句最大长度:SQL洞察和审计记录的SQL语句最大长度为8192字节且受loose_rds_audit_max_sql_size(MySQL 5.6/5.7)或loose_rds_audit_log_event_buffer_size(MySQL 8.0)参数影响,取三者最小值。由于信息采集处理时会增加前缀标注,实际记录的SQL语句最大长度略小于8192字节或参数设置。
在RDS for MySQL上,audit_log_policy的默认值为ALL。在该级别下,审计日志会记录包括DML(数据操作语言)、DDL(数据定义语言)、DCL(数据控制语言)操作以及连接或断开连接等数据库活动。需要注意的是,不同类型的活动包含的日志字段有所不同。下面将从常见DDL、DML、DCL操作以及数据库连接与断开连接产生的审计日志进行内...
在RDS for MySQL上,audit_log_policy的默认值为ALL。在该级别下,审计日志会记录包括DML(数据操作语言)、DDL(数据定义语言)、DCL(数据控制语言)操作以及连接或断开连接等数据库活动。需要注意的是,不同类型的活动包含的日志字段有所不同。下面将从常见DDL、DML、DCL操作以及数据库连接与断开连接产生的审计日志进行内...
audit_log_format CSV2 是 审计日志的格式,RDS for MySQL审计日志目前一共支持OLD, NEW, JSON, CSV和CSV2五种格式。 audit_log_flush OFF 否 当此变量设置为ON时,日志文件将被关闭并重新打开。这可用于手动日志轮转。 audit_log_policy ALL 否
SQL语句最大长度:SQL洞察和审计记录的SQL语句最大长度为8192字节且受loose_rds_audit_max_sql_size(MySQL 5.6/5.7)或loose_rds_audit_log_event_buffer_size(MySQL 8.0)参数影响,取三者最小值。由于信息采集处理时会增加前缀标注,实际记录的SQL语句最大长度略小于8192字节或参数设置。
SERVER_AUDIT_FILE_ROTATE_SIZE: 100000000 选项的含义和取值范围可参考下面的链接https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html 开启常规日志和慢查询日志,performance_schema 注意:更换参数组需要重启RDS,更改参数组中的参数可能需要重启RDS。