mysql 审计server_audit 模块

server_audit模块是一个 mariadb  还是skysql 开发的一个mysql 的插件。可以做一些审计上面的工作。

众所周知,mysql 是里面是很难记录用户的操作命令的。用这个就可以。支持两种格式的输出,file 或者syslog。

1.安装

INSTALL PLUGIN server_audit SONAME ‘server_audit‘;server_audit.so 可以用skysql 上面下载,mariadb 10 里面已经自带了。非常好用。

2.配置

show variables like ‘server_au%‘;

| server_audit_events | |
| server_audit_excl_users | |
| server_audit_file_path | server_audit.log |
| server_audit_file_rotate_now | OFF |
| server_audit_file_rotate_size | 1000000 |
| server_audit_file_rotations | 9 |
| server_audit_incl_users | |
| server_audit_logging | ON |
| server_audit_mode | 0 |
| server_audit_output_type | file |
| server_audit_syslog_facility | LOG_USER |
| server_audit_syslog_ident | mysql-server_auditing |
| server_audit_syslog_info | |
| server_audit_syslog_priority | LOG_INFO |

默认就是记录在文件里面的,在datadir 下面。你也可以改成syslog 的,默认是info 这个级别,记录在/var/log/message.log上面。

输出格式

Jul 15 14:14:12 zabbix mysql-server_auditing: xxxx.com,root,localhost,46,55,QUERY,,‘set global server_audit_output_type=syslog‘,0
Jul 15 14:20:15 zabbix mysql-server_auditing: xxxx.com,root,localhost,46,0,DISCONNECT,,,0

很清晰,时间,用户,操作,都能记录上。

mysql 审计server_audit 模块

时间: 2024-10-17 16:22:09

mysql 审计server_audit 模块的相关文章

Ubuntu下rsyslog集中收集mysql审计日志

服务端 1.安装最新版本rsyslog sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:adiscon/v8-stable sudo apt-get update sudo apt-get install rsyslog 2.配置目录存储mysql审计日志 vim /etc/rsyslog.d/50-default.conf # add:

mysql审计插件设置

1.create database auditdb use auditdb 2.create table accesslog(ID int primary key auto_increment,ConnectionID int,ConnUser varchar(30),MatchUser varchar(30),LoginTime datetime) 3.保证所有连接用户对此表有写入权限 insert into mysql.db(Host,Db,User,Insert_priv) values

mysql中各个模块如何协同工作

mysql各个模块如何协同工作的,我们通过启动mysql.客户端连接.请求query,得到返回结果,最后退出.这个过程来看一下. 执行启动mysql命令后,mysql的初始化模块从配置文件中读取系统参数与命令行参数,并按参数来初始化整个系统.同时各个存储引擎也被启动,并进行各自的初始化工作. 当整个系统初始化结束后,连接管理模块接手,连接管理模块启动处理客户端连接请求的监听程序,包括tcp/ip网络监听,还有unix的socket.此时mysql server基本启动完成,准备好接受客户端请求.

基于Servlet、JSP、JDBC、MySQL的登录模块(含过滤器的使用和配置)

接前文的注册模块,本篇是登录模块.主要包括登录主界面,和登录相关编写的LoginAction.LoginDao和LoginService.以及配置的Filter.下面按逻辑顺序记录详细过程和代码: 一.在前文的index目录点击登录按钮后,通过javascript跳转至LoginAction. <script type="text/javascript"> function login(){ var th = document.form1; if(th.username.v

mysql审计实现方法

Mysql版本: 5.6.24-72.2 一.通过init-connect + binlog 实现MySQL审计功能 基本原理: 由于审计的关键在于DML语句,而所有的DML语句都可以通过binlog记录. 不过遗憾的是目前MySQL binlog 中只记录,产生这条记录的connection id(随连接数自增,循环使用),这对之后的反查没有任何帮助. 因此考虑通过init-connect,在每次连接的初始化阶段,记录下这个连接的用户,和connection_id信息. 在后期审计进行行为追踪

第二百七十九节,MySQL数据库-pymysql模块

MySQL数据库-pymysql模块 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connect() 参数: host=数据库ip port=数据库端口 user=数据库用户名 passwd=数据库密码 db=数据库名称 cursor()创建数据库操作游标,无参使用方式: 游标变量.cursor() execute()操作数据库,参数1 sql语句,参数2 字符串占位符变量使用方式: 游标变量.exe

MySQL各逻辑模块工作配合

在了解了MySQL的各个模块之后(点击查看MySQL各个逻辑模块),我们再看看MySQL各个模块间是如何相互协同工作的.接下来,我们通过启动MySQL,客户端连接,请求query,得到返回结果,到最后退出,这样一个过程下来进行分析. 1.  当我们执行启动MySQL命令之后,MySQL的初始化模块就从系统配置文件中读取系统参数和命令行参数,并按照参数来初始化整个系统,如申请并分配buffer,初始化全局变量,以及各种结构等.同时各个存储引擎也被启动,并进行各自的初始化工作.当整个系统初始化结束后

mysql连接池模块

如果不想程序在查询数据时卡死或等待过长时间,一般不推荐在node中开启一个连接后全部查询都用这个链接并且不关闭.因为node里面的mysql不像php里的那样会在完成查询后断开,只要不主动断开,连接一直存在,当连接数量达到一定数量时就会产生严重的阻塞,出现各种延时和卡死现象.在并发量较大时,可以通过建立连接池来缓解并发压力. 在node中的mysql模块里其用来操作数据的query()方法接收的参数是不同的,在使用时需要特别注意.具体模块如下: /** * mysql连接池模块 * @autho

【转】Python中操作mysql的pymysql模块详解

Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11.mysql版本:5.6.24 一.安装 1 pip3 install pymysql 二.使用操作 1.执行SQL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25