MySQL OCP888题解042-审计日志格式

文章目录

  • 1、原题
    • 1.1、英文原题
    • 1.2、中文翻译
    • 1.3、答案
  • 2、题目解析
    • 2.1、题干解析
    • 2.2、选项解析
  • 3、知识点
    • 3.1、知识点1:审计日志
      • 3.1.1、审计日志是什么
      • 3.1.2、审计日志格式
  • 4、总结

1、原题

1.1、英文原题

Consider the MySQL Enterprise Audit plugin.
You are checking user accounts and attempt the following query:
mysql> SELECT user, host plugin FROM mysql.users;
ERROR 1146(42S02): Table ‘mysql.users’ doesn’t exist
Which subnet of attributes would indicate this error the audit.log file?
A、NAME=“Query” STATUE=“1146”
SQLTEXT=“select user, host from users”/>
B、NAME=“Error” STATUE=“1146”
SQLTEXT=“ERROR 1146(42S02): Table “mysql.users” doesn’t exist”/>
C、NAME=“Query” STATUE=“1146”
SQLTEXT=“ERROR 1146(42S02): Table “mysql.users” doesn’t exist”/>
D、NAME=“Error” STATUE=“1146”
SQLTEXT=“select user, host from users”/>
E、NAME=“Query” STATUE=“0”
SQLTEXT=“ERROR 1146(42S02): Table “mysql.users” doesn’t exist”/>

1.2、中文翻译

考虑MySQL Enterprise Audit插件。
您正在检查用户帐户并尝试以下查询:
mysql>SELECT user,host plugin FROM mysql.users;
ERROR 1146(42S02): Table ‘mysql.users’ doesn’t exist
哪个属性子网将在审计日志文件中指示此错误?
A、NAME=“Query” STATUE=“1146”
SQLTEXT=“select user, host from users”/>
B、NAME=“Error” STATUE=“1146”
SQLTEXT=“ERROR 1146(42S02): Table “mysql.users” doesn’t exist”/>
C、NAME=“Query” STATUE=“1146”
SQLTEXT=“ERROR 1146(42S02): Table “mysql.users” doesn’t exist”/>
D、NAME=“Error” STATUE=“1146”
SQLTEXT=“select user, host from users”/>
E、NAME=“Query” STATUE=“0”
SQLTEXT=“ERROR 1146(42S02): Table “mysql.users” doesn’t exist”/>

1.3、答案

A

2、题目解析

2.1、题干解析

本题考察的是审计日志的格式

2.2、选项解析

审计日志会记录账户的行为,在这里账户的行为不是error,而是Query,SQLTEXT会记录SQL文本,所以选项A正确。

3、知识点

3.1、知识点1:审计日志

3.1.1、审计日志是什么

根据国家等保审计合规要求,数据库要开启审计功能,它主要记录用户登录,对数据库的操作管理,对数据库受到的风险行为进行告警,对攻击行为及时阻断,通过审计日志可以对用户访问数据库行为进行记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。MySQL企业版有此功能,属于收费组件。

官方参考文档

3.1.2、审计日志格式

  • 只要有可审计的事件发生,MySQL服务器就会调用审计日志插件,将审计记录写入其日志文件。通常,插件启动后写的第一条审计记录包含服务器描述和启动选项。之后的元素代表事件,如客户端连接和断开事件,执行的SQL语句,等等。
  • 只有顶级的语句被记录下来,存储过程/触发器中的语句、LOAD DATA引用的文件内容都不会被记录。
  • 可以通过在服务器启动时设置 audit_log_format 系统变量来选择审计日志格式。有以下几种格式:
    • 新式的XML格式(audit_log_format=NEW)。一种XML格式,与Oracle Audit Vault的兼容性比旧式XML格式更好。MySQL 5.7默认使用新式XML格式。默认情况下,审计日志文件内容以新式XML格式写入,没有压缩或加密。
    • 旧式XML格式(audit_log_format=OLD)。在较早的MySQL系列中默认使用的原始审计日志格式。
    • JSON格式(audit_log_format=JSON)

审计日志中的字段说明如下:
MySQL OCP888题解042-审计日志格式_第1张图片
MySQL OCP888题解042-审计日志格式_第2张图片
MySQL OCP888题解042-审计日志格式_第3张图片
MySQL OCP888题解042-审计日志格式_第4张图片

以下元素在元素中是可选的。他们中的许多只出现在特定的元素值中。

官方参考文档

4、总结

  1. 审计日志主要是用来记录用户的登录和操作信息,用来帮用户事后生成合规报告,做事故追根溯源,从而符合国家等保要求,增强数据库安全性。
  2. 审计日志中的NAME记录的是操作类型,SQLTEXT记录的是操作语句。

你可能感兴趣的:(MySQL,mysql,数据库,java,ocp,服务器)