[ Azure - Database ] Azure Database for MySQL 配置Auditing并查看使用

news2024/11/15 8:25:24

在这里插入图片描述

传统MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间。本文会讲解微软云Azure Database for MySQL的binlog相关知识。

文章目录

      • Azure Database for MySQL的binlog
      • 如何查看 Azure Database for MySQL的binlog
        • 一、使用 Azure 门户配置Auditing
        • 二、设置诊断Diagnostics
        • 三、使用 Log Analytics 查看审核日志
      • Azure Monitor 日志的示例查询语句

Azure Database for MySQL的binlog

对于微软云Azure的Azure Database for MySQL中,二进制日志是始终启用的状态(即,将 log_bin 参数设置为 ON)。 如果你想使用触发器,则会收到如下错误:“你没有 SUPER 权限且二进制日志记录已启用(你可能需要使用安全性更低的 log_bin_trust_function_creators 变量)”。

命令行登入进入到MySQL执行 show variables like '%log_bin%'; 验证并查看上述Azure数据库的binlog相关信息:

在这里插入图片描述

从结果中可以发现两点

  • Azure Database for MySQL的binlog默认是开启状态
  • 默认的Azure Database for MySQL - Single Server是安装在Windows服务器的

如何查看 Azure Database for MySQL的binlog

在上述已经查看到,Azure Database for MySQL的binlog是默认开启,但是Azure的数据库是PaaS服务,你无法像传统MySQL那样直接访问binlog。如果你想查看Azure Database for MySQL的事务日志等怎么办?这题讲解的方法如下:


一、使用 Azure 门户配置Auditing

  1. 在所要设置的数据库中,依次进入setting、选择菜单设置参数Server parameters.

  2. 开启Azure Database for MySQL的Audit日志,依次进入服务器参数设置,依次根据下图更改:audit_log_enabledaudit_log_events,注意更改audit_log_events的log事件可以根据自身所需选择 DCL、DDL、或者DML等。

在这里插入图片描述


二、设置诊断Diagnostics

在左侧菜单Monitoring下, 选择Diagnostic settings,点击添加诊断按钮.

在这里插入图片描述

设置诊断内容,如下图所示:

在这里插入图片描述


三、使用 Log Analytics 查看审核日志

完成上述操作后,即可查询配置的log日志,在Monitoring菜单下,选择Logs菜单,关闭弹出的新窗口(Queries 提示窗口)

执行audit 查询sql如下:

AzureDiagnostics
    |where Category =='MySqlAuditLogs' 
    |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s 
    |summarize count() by event_class_s,event_subclass_s 
    |order by event_class_s

在这里插入图片描述


Azure Monitor 日志的示例查询语句

1、列出特定服务器上的 GENERAL 事件

AzureDiagnostics
| where LogicalServerName_s == '<your server name>'
| where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
| order by TimeGenerated asc nulls last
  1. 列出特定服务器上的 CONNECTION 事件
AzureDiagnostics
| where LogicalServerName_s == '<your server name>'
| where Category == 'MySqlAuditLogs' and event_class_s == "connection_log"
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
| order by TimeGenerated asc nulls last
  1. 汇总特定服务器上的已审核事件
AzureDiagnostics
| where LogicalServerName_s == '<your server name>'
| where Category == 'MySqlAuditLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
| summarize count() by event_class_s, event_subclass_s, user_s, ip_s
  1. 绘制特定服务器上的审核事件类型分布图
AzureDiagnostics
| where LogicalServerName_s == '<your server name>'
| where Category == 'MySqlAuditLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
| summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m)
| render timechart
  1. 列出已为审核日志启用诊断日志的所有 MySQL 服务器上的已审核事件
AzureDiagnostics
| where Category == 'MySqlAuditLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
| order by TimeGenerated asc nulls last

Reference Link:

https://learn.microsoft.com/zh-cn/azure/mysql/single-server/concepts-audit-logs
https://learn.microsoft.com/en-us/azure/mysql/flexible-server/tutorial-configure-audit


:本文原创由 bluetata 发布于: https://bluetata.blog.csdn.net/ 转载请务必注明出处。


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

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

相关文章

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理

专栏目录&#xff1a;专栏目录传送门 平台内核i.MX8MP5.15.71文章目录1.前言2.IOMUX原理3. 寄存器实例&#xff1a;UART1_RX3.1 PAD: UART1_RXD3.2 PAD: SD1_CMD3.3 PAD: SAI2_RXC3.4 Input select3.5 功能实现4.SION1.前言 我们都知道&#xff0c;芯片包含数量有限的引脚&am…

BeanFactory和Applicationcontext实现

1.容器接口 1.BeanFactory能做哪些事 1.什么是beanFactory 它是spring的核心容器 是ApplicationContext的父接口 ApplicationContext扩展实现都【组合了】beanFactory 2.BeanFactory的功能 明面上只有getBean()方法实际上控制反转、依赖注入、bean生命周期的各种功能都…

tslib-1.4在I.MX6ULL开发板上电容屏不能触摸问题

一、前言 在采用触摸屏的移动终端中&#xff0c;触摸屏性能的调试是个重要问题之一&#xff0c;因为电磁噪声的缘故&#xff0c;触摸屏容易存在点击不准确、有抖动等问题。Tslib是一个开源的程序&#xff0c;能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能&#x…

ESP32-S3 >>> MicroPython 编程初探

今天买了一个ESP32-S3&#xff0c;打算试试在这上面进行MicroPython的编程&#xff08;附资料网址&#xff09;。 首先为了在ESP32上进行mp的编程&#xff0c;需要对其重新烧录固件。这就需要我们电脑安装好CH343驱动&#xff0c;然后找到适用于ESP32-S3的固件&#xff0c;利用…

Diffusion详解及PyTorch代码

首先附上几个大佬的讲解 lilianweng-diffusion-models 这篇博客借鉴了上述博客和视频&#xff0c;同时加上个人的理解整合了一下&#xff0c;整个推导过程非常详细&#xff0c;希望能使每个人都看懂 结合之前讲过的VAE和GAN模型&#xff0c;Diffusion Model和他们的区别就是…

Apache Struts2远程代码执行漏洞(S2-015)复现及修复方案

Apache Struts2远程代码执行漏洞(S2-015)介绍 Apache Struts 2是用于开发JavaEE Web应用程序的开源Web应用框架。Apache Struts 2.0.0至2.3.14.2版本中存在远程命令执行漏洞。远程攻击者可借助带有‘${}’和‘%{}’序列值&#xff08;可导致判断OGNL代码两次&#xff09;的请求…

LabVIEW​​共享​变量生命周期

LabVIEW​​共享​变量生命周期 共享​变量​生命​周期 ​所有​共享​变量​都是​项目​库​的​一部分。​SVE​将会​注册​项目​库​和​库​中​包含​的​共享​变量​&#xff08;当​LabVIEW​需要​调​用​其中​某​个​变量​时&#xff09;​。​默认​情况​…

AlphaGo简易版MuGo源码解析

文章目录前言源码实现MuGo的输入数据模型的搭建模型的训练参考链接结语前言 自从AlphaGo横空出世&#xff0c;战胜李世石后&#xff0c;AI围棋如雨后春笋一般遍地开花。阅读DeepMind的论文有时还是隔靴搔痒&#xff0c;只有钻到代码里&#xff0c;才能一探究竟。于是&#xff…

Arthas诊断追踪性能案例

文章目录1、什么是Arthas2、安装启动3、追踪流程背景&#xff1a;本次案例使用Windows操作系统进行本地环境演示&#xff08;生产环境Linux同理&#xff09; 案例&#xff1a;查询接口性能特别慢&#xff0c;通过Arthas追踪诊断链路中哪个步骤导致性能如此之慢 注意&#xff1a…

code review的思考和实践

使用方式 1.看名称效果图&#xff0c;有没有和自己想要的效果类似的 2.有的话&#xff0c;复制粘贴代码使用 3.也可以自己修改一下 4.css效果并不是特别难&#xff0c;只是有时候我们可能想不到 5.笔者空闲时间&#xff0c;会继续更新的哦&#xff0c;点赞关注不迷路**^_^** …

EMNLP 22:SetGNER: General Named Entity Recognition as Entity Set Generation

SetGNER: General Named Entity Recognition as Entity Set Generation **任务形式&#xff1a;**识别flat、nest和不连续实体。 **任务建模方式&#xff1a;**采用基于pointer的方式实现任务建模&#xff0c;文本序列中的每个word可以用tag表示&#xff0c;具体为&#xff1…

Java算法_LeetCode122:买卖股票的最佳时机II

LeetCode122&#xff1a;买卖股票的最佳时机II 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 …

有关于huggingface evaluate的使用

老版本Transformer的from datasets import load_metric&#xff0c;在新版本中被替换成了evaluate。 这个包挺难用的&#xff0c;而且不同版本的接口都有点不太一样&#xff0c;本博客以transformers4.18.0, evaluate0.4.0为例&#xff0c;示范一下如何使用evaluate进行常见的…

【LDF】线性判别函数(一)

基于判别函数的判别准则 对于ccc类分类问题&#xff1a;设 gi(x),i1,2,…,cg_i(\mathbf{x}), i1,2, \ldots, cgi​(x),i1,2,…,c, 表示每个类别对应的判别函数&#xff0c;决策规则为&#xff1a;如果 gi(x)>gj(x),∀j≠ig_i(\mathbf{x})>g_j(\mathbf{x}), \forall j \n…

[机器学习-概念新] 什么是欧式距离、标准化欧式距离、马氏距离、余弦距离

1.欧式距离(Euclidean Distance) 欧式距离源自N维欧氏空间中两点间的距离公式&#xff1a; 代码实践 from scipy import spatial vec1 [1, 2, 3, 4] vec2 [5, 6, 7, 8] euclidean spatial.distance.euclidean(vec1, vec2) print(euclidean) 2.标准化欧式距离&#xff08;S…

狂揽两千星,速度百倍提升,高性能Python编译器Codon开源

这个高性能 Python 编译器具有支持 Python 众多语法、完美互通其他框架等优点。 众所周知&#xff0c;Python 是一门简单易学、具有强大功能的编程语言&#xff0c;在各种用户使用统计榜单中总是名列前茅。相应地&#xff0c;围绕 Python&#xff0c;研究者开发了各种便捷工具&…

G1垃圾回收

目录一、G1垃圾回收器G1垃圾回收阶段&#xff08;3个&#xff09;① Young Collection② Young Collection CM③ Mixed CollectionYoung Collection 跨代引用RemarkG1—垃圾回收器优化字符串去重类卸载巨型对象动态调整阈值一、G1垃圾回收器 定义&#xff1a; Garbage First&…

lanmp环境搭建,你需要一次独立安装来深入了解各个软件

一&#xff0c;安装Apache yum install httpd -y,安装apache,版本为2.4.6&#xff0c;最新为2.4.9。 cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak; vim /etc/httpd/conf/httpd.conf &#xff08;默认唯一&#xff09; 端口改为8000&#xff0c;不能与Ngin…

File类的使用

java&#xff0c;File类File类静态成员变量构造方法常用方法用于创建、删除文件/文件夹的方法用于遍历文件/文件目录的方法文件过滤器方法File类 Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。 File对象代表磁盘…

数据分析的大体思路

目录标题数据分析企业数据的分析的三个方向&#xff1a;离线分析&#xff08;Batch Processing&#xff09;实时分析&#xff08;Real Time Processing |Streaming&#xff09;&#xff1a;机器学习&#xff08;Machine Learning&#xff09;数据分析的流程明确分析的目的和思路…