MySQL 8.0.35 企业版开启审计audit log功能

一、系统环境和要求

在MySQL中,开启日志审计可以记录数据库的操作日志,包括修改、删除、插入等操作。这对于追踪和分析数据库的使用情况以及排查潜在的安全问题非常有帮助。本文将详细介绍如何开启MySQL的日志审计功能。

操作系统:Ubuntu 20.04.5 LTS

数据库版本:8.0.35-commercial MySQL Enterprise Server - Commercial

TDE插件类型:keyring_encrypted_file

二、安装审计插件
-- 确认审计插件已安装并启用
SHOW PLUGINS;-- 如果未启用,启用审计插件
INSTALL PLUGIN audit_log SONAME 'audit_log.so';

下面是审计插件安装成功

mysql> SHOW PLUGINS;
+----------------------------------+----------+--------------------+---------------------------+-------------+
| Name                             | Status   | Type               | Library                   | License     |
+----------------------------------+----------+--------------------+---------------------------+-------------+
| keyring_encrypted_file           | ACTIVE   | KEYRING            | keyring_encrypted_file.so | PROPRIETARY |
| binlog                           | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| mysql_native_password            | ACTIVE   | AUTHENTICATION     | NULL                      | PROPRIETARY |
| sha256_password                  | ACTIVE   | AUTHENTICATION     | NULL                      | PROPRIETARY |
| caching_sha2_password            | ACTIVE   | AUTHENTICATION     | NULL                      | PROPRIETARY |
| sha2_cache_cleaner               | ACTIVE   | AUDIT              | NULL                      | PROPRIETARY |
| daemon_keyring_proxy_plugin      | ACTIVE   | DAEMON             | NULL                      | PROPRIETARY |
| CSV                              | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| MEMORY                           | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| InnoDB                           | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| INNODB_TRX                       | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CMP                       | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CMP_RESET                 | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CMPMEM                    | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CMPMEM_RESET              | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CMP_PER_INDEX             | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CMP_PER_INDEX_RESET       | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_BUFFER_PAGE               | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_BUFFER_PAGE_LRU           | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_BUFFER_POOL_STATS         | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_TEMP_TABLE_INFO           | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_METRICS                   | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_FT_DEFAULT_STOPWORD       | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_FT_DELETED                | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_FT_BEING_DELETED          | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_FT_CONFIG                 | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_FT_INDEX_CACHE            | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_FT_INDEX_TABLE            | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_TABLES                    | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_TABLESTATS                | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_INDEXES                   | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_TABLESPACES               | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_COLUMNS                   | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_VIRTUAL                   | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_CACHED_INDEXES            | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| INNODB_SESSION_TEMP_TABLESPACES  | ACTIVE   | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| MyISAM                           | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| MRG_MYISAM                       | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| PERFORMANCE_SCHEMA               | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| TempTable                        | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| ARCHIVE                          | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| BLACKHOLE                        | ACTIVE   | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| FEDERATED                        | DISABLED | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| ndbcluster                       | DISABLED | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| ndbinfo                          | DISABLED | STORAGE ENGINE     | NULL                      | PROPRIETARY |
| ndb_transid_mysql_connection_map | DISABLED | INFORMATION SCHEMA | NULL                      | PROPRIETARY |
| ngram                            | ACTIVE   | FTPARSER           | NULL                      | PROPRIETARY |
| mysqlx_cache_cleaner             | ACTIVE   | AUDIT              | NULL                      | PROPRIETARY |
| mysqlx                           | ACTIVE   | DAEMON             | NULL                      | PROPRIETARY |
| audit_log                        | ACTIVE   | AUDIT              | audit_log.so              | PROPRIETARY |
| keyring_file                     | ACTIVE   | KEYRING            | keyring_file.so           | PROPRIETARY |
| keyring_udf                      | ACTIVE   | DAEMON             | keyring_udf.so            | PROPRIETARY |
+----------------------------------+----------+--------------------+---------------------------+-------------+
52 rows in set (0.00 sec)mysql> 
二、修改配置文件

编辑MySQL的配置文件my.cnf,在文件中添加以下内容

# Audit function
audit_log = ON
audit_log_format = JSON
audit_log_policy = ALL
audit_log_file = /var/log/mysql/audit.log

这些配置项的含义如下:

audit_log:设置为ON表示开启审计日志记录。
audit_log_format:指定审计日志的格式,这里我们选择了JSON格式。
audit_log_policy:指定审计策略,这里我们选择了ALL,表示记录所有操作。
audit_log_file:指定日志文件的路径和文件名,这里我们将日志写入到 audit.log 文件中。

修改完成后,保存并关闭文件。

查看audit相关参数

show global variables like 'audit%';

 

四、审计日志分析

开启审计功能后,所有的数据库访问和操作都会被记录在审计日志中。审计日志以JSON格式存储,我们可以通过分析JSON数据来了解数据库的使用情况。从上面的示例中,我们可以获取到以下信息:

tail -n 1 /var/log/mysql/audit.log

 如果操作被成功审计,你将会看到类似以下的日志记录:

{"timestamp": "2024-03-26 08:57:33","id": 8,"class": "general","event": "status","connection_id": 11,"account": {"user": "root","host": ""},"login": {"user": "root","os": "","ip": "10.115.20.71","proxy": ""},"general_data": {"command": "Query","sql_command": "show_keys","query": "SHOW INDEX FROM `sys`.`audit_log`","status": 0}
}

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

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

相关文章

人工智能 框架 paddlepaddle 飞桨 使用指南 使用例子 线性回归模型demo 1

安装过程&使用指南&线性回归模型 使用例子 本来预想 是安装 到 conda 版本的 11.7的 但是电脑没有gpu 所以 安装过程稍有变动,下面简单讲下 conda create -n paddle_env117 python=3.9 由于想安装11.7版本 py 是3.9 所以虚拟环境名称也是 paddle_env117 activa…

6 Spring-AOP

文章目录 1,AOP简介1.1 什么是AOP?1.2 AOP作用1.3 AOP核心概念 2,AOP入门案例2.1 需求分析2.2 思路分析2.3 环境准备2.4 AOP实现步骤步骤1:添加依赖步骤2:定义接口与实现类步骤3:定义通知类和通知步骤4:定义切入点步骤5:制作切面步骤6:将通知类配给容器…

常用设计模式介绍

前言 简说设计模式。 文章目录 前言一、设计模式的要素1、设计模式解决的问题2、设计模式分类1)创建型设计模式2)结构型设计模式3)行为型设计模式 二、详细介绍1、创建型设计模式1)工厂方法模式2)抽象工厂模式3&#x…

基于FPGA的光纤通信系统设计

文章目录 光纤通信系统的组成发送端FPGA端口定义状态机设计代码示例 接收端功能模块端口定义状态机设计 光纤通信系统的组成 发送端FPGA 发送控制逻辑、数据编码、校验码生成、缓存控制、时钟控制 端口定义 状态机设计 代码示例 接收端功能模块 接收端控制逻辑、数据解码、…

谈谈伦敦银投资的价值吗?

白银作为贵金属家族中的一员,当然有着其自身的经济价值和投资价值,尤其是在通货膨胀或货币贬值的时候,伦敦银的价格往往会上涨,投资者参与其中就能起到保值增值的作用。 此外,白银还是一种很好的避险资产,…

港大新工作 HiGPT:一个模型,任意关系类型 !

论文标题: HiGPT: Heterogeneous Graph Language Model 论文链接: https://arxiv.org/abs/2402.16024 代码链接: https://github.com/HKUDS/HiGPT 项目网站: https://higpt-hku.github.io/ 1. 导读 异质图在各种领域&#xf…

Linux系统下安装部署Linux管理面板1panel

目录 一 1panel介绍 1、1Panel简介 2、1Panel特点 二、本地环境规划 1、本此实验目的 2、本地环境部署 三、部署1Panel(在线安装) 1.创建安装目录 2.一键部署1Panel 3.检查1Panel服务运行状态 4.检查1Panel监听端口 四、关闭防火墙和selinux…

zabbix进阶

知识点补充 zabbix server在主机上运行服务,端口号为10050,zabbix agent 在被监控机器上运行(源码下载)主要完成对cpu,磁盘的信息采集,端口号为10051 zabbix 软件结构组成: 1.Zabbix Web GUI …

leetcode 107.二叉树的层序遍历II

题目 思路 正常层序遍历输出: [[3],[9,20],[15,7]] 这道题要求的输出:[[15,7],[9,20],[3]] 可以观察到,只要我们把原来的结果reverse一下就行了。 代码 //leetcode submit region begin(Prohibit modification and deletion)import java…

HWY-41B无源静态电压继电器 整定范围19-240VAC导轨安装JOSEF约瑟

HWY-31A无辅源静态电压继电器 HWY-32A无辅源静态电压继电器 HWY-33A无辅源静态电压继电器 HWY-34A无辅源静态电压继电器 HWY-35A无辅源静态电压继电器 HWY-31B无辅源静态电压继电器 HWY-32B无辅源静态电压继电器 HWY-33B无辅源静态电压继电器 HWY-34B无辅源静态电压继电器 HW…

激活函数选得好,模型性能差不了!17个方法,让网络训练更高效

激活函数是神经网络中不可或缺的组成部分,它们通过引入非线性特性,增强了网络的表达能力和学习能力。常用的激活函数主要可以分为两大类:饱和激活函数、非饱和激活函数。其中sigmoid和tanh是饱和激活函数,而ReLU及其变体则是非饱和…

程序员35岁会失业吗?【来自主流AI的回答】

程序员35岁会失业吗? 35岁被认为是程序员职业生涯的分水岭,许多程序员开始担忧自己的职业发展是否会受到年龄的限制。有人担心随着年龄的增长,技术更新换代的速度会使得资深程序员难以跟上;而另一些人则认为,丰富的经…

图像变换(python)

前言 这个Python没学过,写的是真的不方便,有很多问题还没解决,暂时不想写了,感兴趣的同学可以完善一下。设计的思路就是摆几个控件然后将对应的函数实现,这个Python的坐标放置以及控件的大小我没弄懂,算出…

如何统计代码量

工具: cloc 下载地址: Releases AlDanial/cloc GitHub 使用方法:

武汉星起航:跨境电商行业的领军者,互帮互助共创佳绩

武汉星起航电子商务有限公司,作为跨境电商行业的领军者,以其出色的业绩和卓越的团队实力,在业内赢得了广泛的赞誉。公司自运营团队在亚马逊平台上成功开设了多家店铺,凭借着深耕跨境电商行业多年所积累的经验,取得了令…

使用mybatis-plus添加数据报错

1、报错问题 2、错误分析 无法配置数据库实体类的属性id,类型不匹配 3、解决分析 (1)数据库类型不匹配,先查看数据库数据类型是否有错误 数据库类型设计没有出现问题 (2)数据库没有问题就看实体类&#xf…

Xavier初始化方法

avier初始化方法是一种常用的神经网络参数初始化方法,旨在有效地初始化权重,以促进神经网络的训练。该方法的提出者是Xavier Glorot和Yoshua Bengio,因此得名为“Xavier”。 在深度学习中,参数初始化是至关重要的,因为…

tcp/ip是什么意思,tcp/ip协议包含哪几层

TCP/IP是一种网络通信协议,它是互联网所采用的基本协议。TCP/IP协议是由美国国防部高级研究计划局(ARPA)在上世纪70年代设计开发的,经过多年发展和完善,已成为全球范围内最重要的网络通信协议之一。 首先,让…

【CKA模拟题】Ingress新手必看,全面了解Ingress的基础操作

题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetesThere exists a deployment named nginx-deployment exposed through a service called nginx-service . Create an ingress resource…

【“得到”用户访谈会-参会感受】

在三月左右的时候,收到了《得到》的一个用户访谈的邀请,自己以前并没有这样的经历,所以觉得能有这样的体验还是挺不错的,所以说一说参加前后的体验。 不知道现在有多少人,还会注意,或者很频繁地使用手机上…