【MySQL】数据库审计--MariaDB Audit Plugin
admin
2023-04-25 08:42:53
0次
[root@wallet01 ~]# cd /usr/lib64/mysql/plugin
[root@wallet01 plugin]# chmod a+x server_audit.so

[root@wallet01 plugin]# ls -l server_audit.so
-rwxr-xr-x 1 root root 236710 Aug 28 09:12 server_audit.so

[root@wallet01 ~]# mysql -uroot -pAbcd@1234
mysql> install plugin server_audit SONAME 'server_audit.so';
Query OK, 0 rows affected (0.03 sec)

mysql> set global server_audit_logging=on;
Query OK, 0 rows affected (0.00 sec)

mysql> set global server_audit_events = 'query,table,query_ddl,query_dml';
Query OK, 0 rows affected (0.00 sec)

mysql> set global server_audit_incl_users='tpcc';
Query OK, 0 rows affected (0.00 sec)

mysql> set global server_audit_file_rotations=0;
Query OK, 0 rows affected (0.00 sec)

server_audit_logging

默认情况下,审计日志记录设置为关闭。要启用它,请将server_audit_logging变量设置为on。

server_audit_events

描述:如果设置了,则将审计日志记录限制为某些事件类型。如果没有设置,那么每个事件类型都会记录到审计日志中。


事件类型

CONNECT:连接、断开连接和失败的连接,包括错误代码

QUERY:以纯文本形式执行的查询及其结果,包括由于语法或权限错误而失败的查询

TABLE:受查询执行影响的表

QUERY_DDL:与QUERY相同,但只筛选DDL类型的查询(create、alter、drop、rename和truncate语句,create/drop[procedure/function/user]和rename user除外(它们不是DDL)

QUERY_DML:与QUERY相同,但只筛选DML类型的查询(do、call、load data/xml、delete、insert、select、update、handler和replace语句)

QUERY_DCL:与QUERY相同,但只筛选DCL类型的查询(create user、drop user、rename user、grant、revoke和set password语句)

QUERY_DML_NO_SELECT:与QUERY_DML相同,但不记录SELECT查询。(从1.4.4版开始)(do、call、load data/xml、delete、insert、update、handler和replace语句)


由于除了DDL和DML之外还有其他类型的查询,因此将查询DDL和查询DML选项一起使用并不等同于使用查询。从Audit插件的1.3.0版开始,有用于记录查询的DCL类型(例如GRANT和REVOKE语句)的QUERY_DCL选项。在同一版本中,添加了server_audit_query_log_limit变量,以便能够设置日志记录的长度。以前,由于查询字符串较长,日志条目将被截断。


server_audit_incl_users

描述:如果不为空,它包含一个逗号分隔的用户列表,这些用户的活动将被记录。连接记录不受此变量的影响-它们总是被记录。此设置的优先级高于server_audit_excl_users。因此,如果在include和excl列表中同时指定了相同的用户,那么它们仍然会被记录。

server_audit_excl_users

描述:如果不为空,则包含其活动将不被记录的用户列表。连接记录不受此变量的影响-它们总是被记录

server_audit_output_type

日志可以写入单独的文件或系统日志。如果您希望将日志记录与其他系统信息分开,则应将变量值server_audit_output_type设置为file

server_audit_file_path

描述:当server_audit_output_type=file时,将路径和文件名设置为日志文件。如果指定的路径以目录的形式存在,则将在该目录中创建名为'server_audit.log'的日志。否则,该值将被视为文件名。默认值为'server_audit.log'。这意味着将在数据库目录中创建此文件。

除了设置server_audit_output_type,还必须提供审计文件的文件路径和名称。这是在变量server_audit_file_path中设置的。您可以使用变量server_audit_file_rotate_size设置日志文件的文件大小限制。因此,如果启用了旋转,并且日志文件已达到您设置的大小限制,则会创建一个以连续数字作为扩展名的副本,原始文件将被截断,以便再次用于审计。要限制创建的日志文件的数量,请设置变量server_audit_file_rotations。您可以通过将变量 server_audit_file_rotate_now设置为on来强制日志文件旋转。当达到允许的文件数量时,最旧的文件将被覆盖。



相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...