近期,公司要求对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. Debian社区群龙无首

    导读 前两天有过消息 Debian 包维护者 Michael Stapelberg 因对 Debian 社区的现状不满而宣布退出 Debian 的维护,该消息引发了人们对于 Debian 的担忧.11 ...

  2. Helicute FPV App Privacy Policy

    Personal Data collected for the following purposes and using the following services: Device permissi ...

  3. luogu P1659 [国家集训队]拉拉队排练

    唔....话说好久没有发布题解了(手痒痒了 首先特别鸣谢lykkk大佬今天下午教我Manacher算法,甚是感谢 为了体现学习成果,写一篇蒟蒻版的题解(大佬勿喷 言归正传 题面——>在这儿 首先 ...

  4. P1238 走迷宫

    原题链接 https://www.luogu.org/problemnew/show/P1238 为了巩固一下刚学习的广搜,练一下迷宫类型的题 不过这道题我用的深搜..... 看问题,我们就知道这道题 ...

  5. laravel 读写分离源码解析

    前言:上一篇我们说了<laravel 配置MySQL读写分离>,这次我们说下,laravel的底层代码是怎样实现读写分离的.   一.实现原理 说明: 1.根据 database.php ...

  6. GWAS研究中case和control的比例是有讲究的?

    GWAS研究中,表型分两种.第一种是线性的表型,如果身高.体重.智力等:第二种是二元的表型,比如患病和未患病,即通常所说的case和control.对于表型是线性的样本来说,是不存在case和cont ...

  7. 20175221 《Java程序设计》迭代和JDB(课下作业,选做):

    20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...

  8. MUI框架 按钮点击响应不好的问题解决办法

    MUI框架 按钮点击响应不好的问题 实际例子: $(function (){ mui(document.body).on('tap', '.bindchk', function(e) { //触发一次 ...

  9. Spring Security 访问控制 源码解析

    上篇 Spring Security 登录校验 源码解析  分析了使用Spring Security时用户登录时验证并返回token过程,本篇分析下用户带token访问时,如何验证用户登录状态及权限问 ...

  10. Linux基础知识梳理

    Linux基础知识梳理 Linux内核最初只是由芬兰人林纳斯?托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux是一套免费使用和自由传播的类Unix操作系统,是 ...