美文网首页
MySQL5.7审计功能,并将数据插入数据表

MySQL5.7审计功能,并将数据插入数据表

作者: 唔哒喂 | 来源:发表于2021-12-01 21:17 被阅读0次

需要:audit-plugin-mysql-5.7-1.1.9-974-linux-x86_64,
不让放链接,可以在必应里查一下这个,在github中下载。


image.png

前言1:MySQL的版本问题,个人水平有限,在8.0版本无法安装上审计插件,网上有一个关于8.0版本的教程,不过人家并未公布修改后的插件。

安装审计插件

1、上传audit-plugin到opt/mysql目录下,并解压

unzip audit-plugin-mysql-5.7-1.1.9-974-linux-x86_64.zip

2、将lib 目录下的文件移动到 mysql的plugin中

查看--mysql-plugin位置,登录mysql 输入下面指令

SHOW VARIABLES LIKE '%plugin%'
image.jpeg

将libaudit_plugin.so移动到上面的地址

 mv libaudit_plugin.so /usr/lib64/mysql/plugin/

3、赋予权限

chmod 777 /usr/lib64/mysql/plugin/libaudit_plugin.so

4、登录mysql,尝试执行安装【一般都会报错】

install plugin audit soname 'libaudit_plugin.so';
image.jpeg

5、进入utils目录下

cd /opt/mysql/audit-plugin-mysql-5.7-1.1.9-974/utils/
赋权限
chmod 777 offset-extract.sh
查看mysqld指令位置
which mysqld
image.jpeg
执行指令
./offset-extract.sh /usr/sbin/mysqld
image.jpeg

复制生成的内容,选取数字的一段复制


image.jpeg

6、修改my.cnf

查看位置whereis my.cnf
编辑 vim my.cnf

在[mysqld]之后加入

plugin-load=AUDIT=libaudit_plugin.so
audit_offsets=7832, 7880, 3640, 4800, 456, 360, 0, 32, 64, 160, 544, 7996, 4368, 3648, 3656, 3660, 6080, 2072, 8, 7064, 7104, 7088, 13480, 148, 672, 0
audit_json_file=1
image.jpeg

保存退出。
重启MySQL、查询状态。

systemctl restart mysqld
systemctl status mysqld
登录MySQL
 show plugins
image.jpeg

完成安装。

查看审计日志,并将数据插入一张表

找到mysql-audit.json
一般在 /var/lib/mysql下

cd /var/lib/mysql
tail -f mysql-audit.json
image.jpeg

这些json字符串就是日志。
之后,可以写脚本,也可以写其他程序来定时调取这些内容,将他们插入到数据的表中。

提供一个Java读取的方法

 String filePath = "/var/lib/mysql/mysql-audit.json";
        BufferedReader f = new BufferedReader(new FileReader(filePath));
        String line;
        while ((line = f.readLine()) != null) {
            //fastJson
           JSON.parseObject(line);---->处理JSON字符串
        //之后就可以进行插入数据的操作了,可以对一些字段是否为空进行一个判断
       }

相关文章

  • MySQL5.7审计功能,并将数据插入数据表

    需要:audit-plugin-mysql-5.7-1.1.9-974-linux-x86_64,不让放链接,可以...

  • MySQL5.7插入数据+“secure-file-priv”错

    MySQL5.7插入数据+“secure-file-priv”错误,MYSQL5.7和MYSQL5.6在使用和功能...

  • 数据库的增、删、查、改

    创建数据表 往数据表中插入单条数据 插入多条数据:mysqli_multi_query($conn,$sql) 使...

  • Python day27_mysql与Python交互

    jingdong用户登录注册查询功能的实现 准备数据 创建数据表格 插入数据 操作要求 根据要求写代码 面向函数编程

  • 6.数据表基本操作

    内容概括: 打开数据库(USE),创建数据表,查看所创建的数据表; 在数据表中插入记录(INSERT),查看记录(...

  • EF Core 数据变更自动审计设计

    EF Core 数据变更自动审计设计 Intro 有的时候我们需要知道每个数据表的变更记录以便做一些数据审计,数据...

  • MYSQL | 常用mysql语句

    1、创建数据库 2.删除数据库 3.选择数据库 4.创建表 注意: 5.删除数据表: 6.向数据表插入数据 插入所...

  • 14.SQL语句设计

    操作数据表中的数据记录(DML语句) 使用INSERT语句向数据表中添加数据 插入数据是向已经存在的数据表中添加一...

  • 7.MySQL入门

    1. 数据库操作 2. MySQL 管理 用戶管理 数据表操作 创建数据表 查看数据表 插入记录 更新記錄 刪除記...

  • mysql学习

    创建数据表 插入数据 修改数据 删除某行数据 查找数据 重命名 删除表 插入行 year类型 date类型 tim...

网友评论

      本文标题:MySQL5.7审计功能,并将数据插入数据表

      本文链接:https://www.haomeiwen.com/subject/rtkexrtx.html