MySQL 安装 audit 日志审计插件

下载

我的MySQL版本是 5.7.37的,用的是日志审计插件(audit-plugin)是1.1.10的,大家可以对应自己版本去下载。

https://github.com/trellix-enterprise/mysql-audit/releases

配置

1、进入到/opt目录下载 audit,可以从本地下载完上传到你的linux系统中

cd /opt
wget --no-check-certificate https://github.com/trellix-enterprise/mysql-audit/releases/download/v1.1.10/audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip

2、解压缩

unzip audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip

3、找到你MySQL的安装插件目录

show global variables like 'plugin_dir';

在这里插入图片描述
4、复制安装相关插件包,执行相应以下命令

cp audit-plugin-mysql-5.7-1.1.10-980/lib/libaudit_plugin.so  /usr/lib64/mysql/plugin/
chmod +x /usr/lib64/mysql/plugin/libaudit_plugin.so
chown mysql:mysql /usr/lib64/mysql/plugin/libaudit_plugin.so

5、登录到你的MySQL,安装 audit插件

install plugin audit soname 'libaudit_plugin.so';

在这里插入图片描述
如果出现错误,请看坑!

6、检验配置

show plugins;

在这里插入图片描述
7、检查版本

show global status like 'AUDIT_version';

在这里插入图片描述
8、开启临时的日志审计功能和其他设置(永久设置请看坑的配置)

开启audit功能

SET GLOBAL audit_json_file=ON;

查看audit配置,包括audit_json.txt存储路径

show variables like '%audit%'\G;

在这里插入图片描述

永久配置

如果你在配置中的第5步出现错误:
在这里插入图片描述

ERROR 1123 (HY000): Can't initialize function 'audit'; Plugin initialization function failed.

可以看本配置

1、找到mysqld

whereis mysqld

在这里插入图片描述

2、生成坐标,并且复制坐标,前两个字段不用复制!

./audit-plugin-mysql-5.7-1.1.10-980/utils/offset-extract.sh /usr/sbin/mysqld

在这里插入图片描述

3、找到MySQL配置文件

whereis my.cnf

在这里插入图片描述
4、修改SQL配置文件并加入以下配置

# 审计offsets 不要乱配置
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_record_cmds='select,insert,delete,update,create,drop,alter,grant,truncate'
# 审计开关
audit_json_file=on
# 加载审计第三方库
plugin-load=AUDIT=libaudit_plugin.so
# 审计日志路径
audit_json_log_file=/var/log/mysql_audit.json

在这里插入图片描述
5、保存重启MySQL。

systemctl mysql restart

6、再次进入到MySQL进行安装 audit 插件

install plugin audit soname 'libaudit_plugin.so';

如果还报错!还有ERROR 1123 (HY000): Can't initialize function 'audit'; Plugin initialization function failed.这个错,那么就看下面的坑!

网上都是shi!

垃圾csdn,翻来翻去都是相同的帖子,都他妈复制过来复制过去的,一点脑子也不带!

后来去的GitHub中找到了解决问题,解决问题很简单,只需要关闭当前Linux系统中的selinux即可。

从github上老外回答问题上找到了解决方法:https://github.com/trellix-enterprise/mysql-audit/issues/157

1、查看 是否开启

sestatus

在这里插入图片描述

2、临时关闭,重新启动系统后,此设置将消失。

echo 0 > /selinux/enforce

或者

setenforce 0

在这里插入图片描述

3、永久性关闭,重启后不会失效

cat /etc/selinux/config

接下来修改配置文件中的selinux选项,修改为disabled。

在这里插入图片描述
保存重启后再次查看状态

在这里插入图片描述

文章参考:https://baijiahao.baidu.com/s?id=1730368050174256968&wfr=spider&for=pc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/98746.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11. 盛最多水的容器

链接 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。说明:你不能倾斜容器。 示例…

Spring Clould 负载均衡 - Ribbon

视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) Ribbon-负载均衡原理(P14) 具体实现时通过LoaBalanced注解实现,表示RestTemplate要被Ribbon拦截处理 orderservice调用user时候&#xff0c…

面试之快速学习STL-容器适配器

1. 容器适配器 简单的理解容器适配器,其就是将不适用的序列式容器(包括 vector、deque 和 list)变得适用。 注意:默认使用的基础容器不代表一定只能用它,比如queue可以用deque,list。 如果你希望你的qu…

perl下载与安装教程【工具使用】

Perl是一个高阶程式语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。Perl对 process、档案,和文字有很强…

【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成交互式3D小故事

👀前置了解:(官网 https://cloudstudio.net/) 什么是Cloud Studio? Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装&#…

通讯录的实现

> 作者简介:დ旧言~,目前大一,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 望小伙伴们点赞👍收藏✨加关注哟💕&#x1…

谷歌推出首款量子弹性 FIDO2 安全密钥

谷歌在本周二宣布推出首个量子弹性 FIDO2 安全密钥,作为其 OpenSK 安全密钥计划的一部分。 Elie Bursztein和Fabian Kaczmarczyck表示:这一开源硬件优化的实现采用了一种新颖的ECC/Dilithium混合签名模式,它结合了ECC抵御标准攻击的安全性和…

Tomcat 一次请求的生命周期

在使用 Tomcat 的时候,我们只需要在 Servlet 实现类中写我们的业务逻辑代码即可,不需要管 Socket 连接、协议处理要怎么实现,因为这部分作为不经常变动的部分,被封装到了 Tomcat 中,程序员只需要引入 Tomcat 中即可&am…

【LeetCode-中等题】49. 字母异位词分组

题目 题解一:排序哈希表 思路:由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。 核心api: //将字符串转换为字符数组char[] ch str.toCharArray();…

页面滑动到可视区域加载更多内容思维流程

页面滑动到可视区域加载更多内容思维流程

GEEMAP 中如何拉伸图像

图像拉伸是最基础的图像增强显示处理方法,主要用来改善图像显示的对比度,地物提取流程中往往首先要对图像进行拉伸处理。图像拉伸主要有三种方式:线性拉伸、直方图均衡化拉伸和直方图归一化拉伸。 GEE 中使用 .sldStyle() 的方法来进行图像的…

Android岗位技能实训室建设方案

一 、系统概述 Android岗位技能作为新一代信息技术的重点和促进信息消费的核心产业,已成为我国转变信息服务业的发展新热点:成为信息通信领域发展最快、市场潜力最大的业务领域。互联网尤其是移动互联网,以其巨大的信息交换能力和快速渗透能力…

机器学习编译系列---张量程序抽象

机器学习编译系列---张量程序抽象 1. 张量函数概念的引入与抽象的必要性 1. 张量函数概念的引入与抽象的必要性 在文章机器学习编译系列—概述中提到,机器学习编译的一个很重要操作是做等价变换来减少内存或者提高运行效率。变换是以“元张量函数”(private tensor …

Viewpager2+Fragment+指示器

Viewpager2Fragment指示器 效果展示: MainActivity.java package com.huawei.myviewpager;import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.viewpager2.widget.ViewPager2;import android.os.Bundle; …

小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2

8、添加master节点 在k8s-master2和k8s-master3节点创建文件夹 mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行 从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3 scp /etc/kubernetes/admin.conf root192.168.77.15:/etc/kubernetes scp /etc/kubernet…

jmap(Memory Map for Java)Java内存映像工具

jmap(Memory Map for Java)Java内存映像工具 jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdump或dump文件) 如果不使用jmap命令,要想获取Java堆转储快照也还有一些比较“暴…

RabbitMq:Topic exchange(主题交换机)的理解和使用

RabbitMq:Topic exchange(主题交换机)的理解和使用 在RabbitMq中,生产者的消息都是通过交换机来接收,然后再从交换机分发到不同的队列中去,在分发的过程中交换机类型会影响分发的逻辑,下面主要讲解一下主题交换机。 ​ 主题交换…

2023面试八股文 ——Java基础知识

Java基础知识 一.Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同&#xff1f…

数据结构之并查集

并查集 1. 并查集原理2. 并查集实现3. 并查集应用3.1 省份数量3.2 等式方程的可满足性 4. 并查集的优缺点及时间复杂度 1. 并查集原理 并查表原理是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0…

微服务中间件--微服务保护

微服务保护 微服务保护a.sentinelb.sentinel限流规则1) 流控模式1.a) 关联模式1.b) 链路模式 2) 流控效果2.a) 预热模式2.b) 排队等待 3) 热点参数限流 c.隔离和降级1) Feign整合Sentinel2) 线程隔离2.a) 线程隔离(舱壁模式) 3) 熔断降级3.a) 熔断策略-慢…