近期,公司要求对MySQL 数据库上操作进行审计;通过了解MySQL 官方企业版(付费版)本中集成了audit_log审计插件,
但是社区开源版本中并不包含该插件,也没提供下载。
进一步了解 MariaDB 有一个名为server_audit.so审计插件,据传以前是可以独立下载的。
但是我在官网没找到下载链接,索性下载一个MariaDB 5.5.50 的二进制安装包,解压后从中捞一个 server_audit.so 文件,

1.登录数据库,查看plugin_dir目录
mysql> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';
+---------------------+-----------------------------------------------------------------------------------------+
| Variable_name     | Value                                                                                                   |
+---------------------+------------------------------------------------------------------------------------------+
| plugin_dir | /usr/local/Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/lib/mysql/plugin/         |
+---------------+------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

2.移动server_audit.so到plugin目录中,然后修改文件授权
mv server_audit.so /usr/local/Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/lib/mysql/plugin/
chown mysql.mysql /usr/local/Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/lib/mysql/plugin/server_audit.so
chmod 755 /usr/local/Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/lib/mysql/plugin/server_audit.so

3、加载安装该插件
mysql> install plugin server_audit SONAME 'server_audit.so';
Query OK, 0 rows affected (0.02 sec)
不需要重启MySQL服务!
mysql> select * from mysql.plugin;
+---------------+--------------------+
| name           | dl                     |
+---------------+--------------------+
| server_audit | server_audit.so  |
+---------------+--------------------+
1 row in set (0.00 sec)

另一种安装方法是修改配置,需要重启mysql服务才能生效
[mysqld]
plugin-load=server_audit=server_audit.so
重启MySQL服务!
这种安装方式不会在 mysql.plugin 生成记录
mysql> select * from mysql.plugin;
Empty set (0.00 sec)

4.查看server_audit的相关变量,并启用审计功能
mysql> show global variables like '%server_audit%';
+----------------------------------+----------------------------+
 | Variable_name                    | Value                         |
+----------------------------------+----------------------------+
| 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_loc_info            | OOOOOOOOOO           |
| server_audit_logging             | OFF                           |
| server_audit_mode               | 1                               |
| server_audit_output_type      | file                            |
| server_audit_query_log_limit | 1024                          |
| server_audit_syslog_facility    | LOG_USER                 |
| server_audit_syslog_ident      | mysql-server_auditing |
| server_audit_syslog_info        |                                  |
| server_audit_syslog_priority   | LOG_INFO                  |
+-------------------------------+--------------------------------+
14 rows in set (0.00 sec)

server_audit_logging定义是否开启,
server_audit_events定义了相关事件

常用审计事件有CONNECTION,QUERY,TABLE,QUERY_DDL,QUERY_DML
假设现在需要审计查询执行情况.

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

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

5.在数据库上执行查询操作,即可在server_audit.log 中看到详细的记录信息,server_audit.log文件默认位于datadir 目录下

20160811 16:11:40,ouzhou158,root,localhost,1872,7,QUERY,,'SHOW GLOBAL VARIABLES LIKE \'plugin_dir\'',0

分别对应时间,服务器名,发布sql的用户名,主机,连接号,操作类型,语句文本和查询执行是否成功

关于审计相关的选项说明,可以参考下面的链接
https://mariadb.com/kb/en/mariadb/server_audit-system-variables/

MySQL Percona server 5.5 安装审计插件的更多相关文章

  1. MySQL(Percona Server) 5.6 主从复制

    MySQL(Percona Server) 5.6.15 主库:192.168.2.21 从库:192.168.2.22 例如我们同步的数据库为:test. 如果需要同步多个数据库下面会有说明. My ...

  2. Percona Server 5.6 安装TokuDB

    系统:Red Hat Enterprise Linux Server release 6.3 (Santiago) 数据库:Percona-Server-5.6.29-rel76.2-Linux.x8 ...

  3. MySQL Community Server 5.7安装详细步骤

    mysql社区版安装配置步骤较繁琐,几经搜索之后才成功安装,此文将所有的安装步骤及安装过程中遇到的问题进行了总结 1. 下载MySQL社区版     最新版下载地址:https://dev.mysql ...

  4. 利用开源审计插件对mysql进行审计

    转载于互联网 2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能),因此需要加载 ...

  5. Linux 下 YUM 安装 Percona Server 5.6

    Percona Server 是 MySQL 的衍生版,专注于 Linux/BSD 下 MySQL 数据库服务器的改进, 在功能和性能上较 MySQL 有着显著的提升. Percona Server ...

  6. MySQL Study之--Percona Server版本号

    MySQL Study之--Percona Server版本号 1.简单介绍      Percona 为 MySQL 数据库server进行了改进.在功能和性能上较 MySQL 有着非常显著的提升. ...

  7. percona 5.6的安装

    yum 安装, 1 如果已经安装过mysql 的东西,先卸载了.yum remove mysql* 包括 /etc/my.cnf 这个东西卸载的时候不会删除. mv /etc/my.cnf /etc/ ...

  8. mysql 5.7/percona server/mariadb 10.2安装与服务器参数优化

    建议使用percona server linux generic版,从https://www.percona.com/downloads/Percona-Server-LATEST/下载,现在不在推荐 ...

  9. mysql添加mcafee 审计插件

    插件源码地址https://github.com/mcafee/mysql-audit插件安装方法https://github.com/mcafee/mysql-audit/wiki/Installa ...

随机推荐

  1. 泛型与object

    一.泛型通俗的理解就是限制list集合里面的数据类型 比如List<int>,就限制LIST里面必须是int,这样放入其他就有报错(保证了安全),然后从 list里取元素,就不需要强制转化 ...

  2. table 里输入rules 验证

    HTML <el-form ref='from' :model="fromData"> <el-table ref="tableman" bo ...

  3. CSS绝对定位元素居中的几种方法

    转载自-CSS居中绝对https://www.cnblogs.com/skura23/p/6530556.html 作者:PajamaCat 1,div宽度未知1 <body> <d ...

  4. Oracle数据库启动出现ORA-27101错误之ORA-19815处理方式及数据备份

    ORA-27101: sharedmemory realm does not exist之ORA-19815处理 重启数据库(数据库:muphy),登陆是越到错误: ORA-27101: shared ...

  5. python 自动发现Java端口

    python 自动发现Java端口 #!/usr/bin/env python #encoding: utf8 import subprocess try: import json except Im ...

  6. Java技术栈思维导图

    Java技术栈思维导图 Java IO流体系 设计模式

  7. <数据结构基础学习>(五)递归

    一. 递归 本质上,将原来的问题,转化为更小的同样的问题 举例:数组求和 Sum(arr[0... n-1]) = arr[0] + Sum(arr[1...n-1])  第二部分为更小的同一个问题 ...

  8. 牛客网 272B Xor Path(树上操作)

    题目链接:Xor Path 题意:每个顶点的点权为Ai,任意两点路径上点权异或和为Path(i,j),求所有Path(i,j)和. 题解:考虑每个顶点被用到的次数,分以下三种情况: 1.本身和其他顶点 ...

  9. 第六周博客作业<西北师范大学|李晓婷>

    1.助教博客链接:https://home.cnblogs.com/u/lxt-/ 2.作业要求链接:https://www.cnblogs.com/nwnu-daizh/p/10569690.htm ...

  10. Android studio Error: Modules no specified解决和真机调试

    如何配置SDK百度一大堆: 前言:Android Studio很完善,如果SDK配置好,理论上就是 创建项目->创建个APP(名字自己随便起)->打开手机开发者模式运行即可:如果出了问题, ...