2021-10-25

本文所使用数据库为mysql8.0,5.x版本的mysql上没试过一下步骤调用审计功能
无需下载任何插件,两行命令就能搞定

一、首先查看审计配置情况
1.show global variables like 'log_timestamps';
2.show global variables like '%general%';
输入命令后结果如下:


image.png

log_timestamps表示记录审计日志的时间是从哪里获取。general_log表示审计功能是否开启,general_log_file表示审计信息的存储文件

二、开启审计
1.set global general_log = on;
2.set global log_timestamps = SYSTEM;


image.png

使用审计日志记录时间为系统当前时间

也可以使用–set global general_log_file = /var/lib/mysql/文件名.log语句,将审计日志存储文件名改为自己想要设置的文件名

就这样审计功能就完成了,在终端使用vim /var/lib/mysql/文件名.log语句,就能查看审计记录了

还有如下改进方案

使用数据库将登陆信息记录下来,这样在真实情况工作环境下,可以根据登陆时间戳更快地在审计日志中定位到问题发生源
(因为无论sql有无语法错误,只要执行了就会记录,导致记录大量无用信息,后期的筛选有难度。审计日志内容很多,当真的出现问题,一个个找时会很麻烦)另外,因为新建的表普通用户没有权限删除记录,而log文件时可以删除记录的,所以若没有审计表的话若普通用户能接触保存log的那台主机,则能手动删除

将审计日志压缩,由于是一个log系统,推荐使用archive存储引擎,有利于数据厄压缩存放。如果数据库连接数量很大的话,建议一定时间做一次数据导出,然后清表。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MYSQL日志用于记录数据库服务器的活动情况,常用日志文件学习参考如下。 1.Error log: 用于记录数据库...
    长毛先生阅读 957评论 0 1
  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,173评论 0 33
  • 一、MySQL介绍 二、MySQL 安装 1.安装前注意事项 (1)确认SELinux 和 系统防火墙 iptab...
    L_Jing_b48d阅读 281评论 0 0
  • 日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许多操作都会写日到日志文件,通过日志文件可以监视...
    时待吾阅读 1,036评论 0 5
  • Mysql概述 数据库是一个易于访问和修改的信息集合。它允许使用事务来确保数据的安全性和一致性,并能快速处理百万条...
    彦帧阅读 13,710评论 10 460