mysql 5.7 解析binlog日志,并统计每个类型语句(insert、update、delete)、每个表的执行次数
1、mysqlbinlog工具
使用mysqlbinlog工具将文件中执行语句解析至某个文件中。
/usr/local/mnt/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v /usr/local/mnt/mysql/log/mysql-bin.017278 > binlog017278.sql
--base64-output=DECODE-ROWS 参数:
这个选项指定了如何处理 binlog 文件中被编码为 base64 的行事件。DECODE-ROWS 表示将 base64 编码的行事件解码为更容易阅读的格式。行事件通常在 binlog 中以 base64 编码存储,因此需要这个选项来解码它们以便于阅读。
-v 参数:
-v 选项表示“verbose”模式,也就是详细模式。使用这个选项会使 mysqlbinlog 输出更多的信息,包括详细的 SQL 语句和事件内容,而不仅仅是简略信息。这对于调试和分析日志内容非常有用。
2、使用linux中awk进行统计
使用linux中awk统计insert、update、delete执行语句以及每个表执行次数。输出结果支持直接复制至excel中。
awk '
/INSERT INTO `/ {match($0, /`([^`]*)`\.`([^`]*)`/, arr); print "INSERT\t" arr[1] "." arr[2]}
/UPDATE `/ {match($0, /`([^`]*)`\.`([^`]*)`/, arr); print "UPDATE\t" arr[1] "." arr[2]}
/DELETE FROM `/ {match($0, /`([^`]*)`\.`([^`]*)`/, arr); print "DELETE\t" arr[1] "." arr[2]}
' binlog017320_017349.sql | sort | uniq -c | awk '{print $2, $3, $1}' OFS='\t'
awk 脚本:
/INSERT INTO /:匹配包含 INSERT INTO 的行,提取表名。
/UPDATE /:匹配包含 UPDATE 的行,提取表名。
/DELETE FROM /:匹配包含 DELETE FROM 的行,提取表名。
每个匹配模式会使用 match 函数提取表名,并将它们与相应的操作类型一起输出。
sort 和 uniq -c :
sort:对输出的表名和操作类型进行排序。
uniq -c:统计每种表名和操作类型组合的出现次数。
相关文章:
mysql 5.7 解析binlog日志,并统计每个类型语句(insert、update、delete)、每个表的执行次数
1、mysqlbinlog工具 使用mysqlbinlog工具将文件中执行语句解析至某个文件中。 /usr/local/mnt/mysql/bin/mysqlbinlog --base64-outputDECODE-ROWS -v /usr/local/mnt/mysql/log/mysql-bin.017278 > binlog017278.sql --base64-outputDECODE-ROWS 参数: 这个…...
MySQL案例:MHA实现主备切换(主从架构)万字详解
目录 MHA 概念 MHA的组成 特点 案例介绍 (1)案例需求 (2)案例实现思路 (3)案例拓扑图 (4)案例环境 案例步骤 基本环境配置 关闭防火墙和内核安全机制 安装数据库 授权…...
81.SAP ME - SAP SMGW Getway Monitor
目录 1.起因 2.SMGW Displaying Logged On Clients Displaying Remote Gateways Display and Control Existing Connections Deleting a Connection Displaying Gateway Release Information Displaying Parameters and Attributes of the Gateway Change Gateway Pa…...
SAPUI5基础知识24 - 如何向manifest.json中添加模型(小结)
1. 背景 在上一篇博客中,我们总结了SAPUI5中模型的各种类型,并通过代码给出了实例化这些模型的方式。 其实,在SAPUI5中,我们可以通过在manifest.json 中添加模型配置,简化模型的初始化过程,并确保模型在应…...
操作系统---文件管理
一、系统调用(系统API) 什么是系统调用 由操作系统向应用程序提供的程序接口信息,本质上就是应用程序与操作系统之间交互的接口。 操作系统的主要功能是为了管理硬件资源和为应用软件的开发人员提供一个良好的环境,使得应用程序…...
C语言指针详解(三)目录版
C语言指针详解(三)目录版 1、字符指针变量1.1、字符指针变量的一般应用1.2、常量字符串1.3、常量字符串与普通字符串的区别1.3.1 常量字符串的不可修改性1.3.2 常量字符串的存储 2、数组指针变量2.1、数组指针变量定义2.2、数组指针变量的初始化 3、二维…...
【AI资讯早报】AI科技前沿资讯概览:2024年8月6日早报
【AI资讯早报,感知未来】AI科技前沿资讯概览,涵盖了行业大会、技术创新、应用场景、行业动态等多个方面,全面展现了AI领域的最新发展动态和未来趋势。 1.【图像生成技术再突破】Midjourney V6.1震撼发布,人像生成质量跃上新台阶 …...
等保测评中的密码技术与密钥管理
在信息安全领域,等保测评(信息安全等级保护测评)是一项重要的安全评估活动,旨在评估信息系统的安全性,并根据评估结果给予相应的安全等级。这一过程中,密码技术与密钥管理发挥着至关重要的作用。本文将详细…...
go语言flag库学习
文章目录 flag基本创建使用方法正常声明全局变量指针短写 flag 基本创建使用方法 func String(name string, value string, usage string) *string func StringVar(p *string, name string, value string, usage string) 正常声明全局变量 package mainimport ("flag…...
2024年必备技能:智联招聘岗位信息采集技巧全解析
随着大数据时代的发展,精准定位职业机会成为程序员求职的关键。本文将深入解析如何利用Python高效采集智联招聘上的岗位信息,助你在2024年的职场竞争中脱颖而出。通过实战代码示例,揭示网络爬虫背后的秘密,让你轻松掌握这一必备技…...
《机器学习by周志华》学习笔记-决策树-02
1、剪枝处理(Pruning) 1.1、背景概念 上文「决策树01」的学习中,我们了解了著名的3种决策树算法ID3、C4.5、CART。这3种决策树算法最根本的核心就是根据特征选择离散属性作为节点来搭建树结构,运用搭好的结构进行推理。 剪枝(pruning)则就是将搭好的决策树去掉一些「非叶节…...
centos Python3.6升级3.8
CentOS系统上升级Python3.6到3.8版本。 步骤 1. 更新系统 在开始升级Python之前,首先需要确保系统是最新的。可以使用以下命令更新CentOS系统: sudo yum update 2. 安装依赖项 升级Python之前,需要安装一些依赖项。运行以下命令安装这些依赖…...
文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于竞价空间预测的虚拟电厂日前竞价策略》
本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...
Simulink模型开发中的一些自动化方法
随着Simulink模型的产品化开发进程,许多模型开发人员会关心模型的建模自动化问题。比如如何对模型中的元素进行批量查找和修改;如何构建自己的建模规则对模型进行检查;如何实现测试自动化等。在这些使用场景中我们都需要了解一些Simulink函数…...
RabbitMQ消费者消费消息失败处理
在我们开发分布式系统的过程中,RabbitMQ这样的消息队列无疑是实现微服务间通信的利器。然而,消息处理失败在所难免。当我们面临消费消息失败的情况时,该如何应对呢?在这篇博客中,我将带你深入探讨RabbitMQ消费者的消息…...
Apache Kylin分布式的分析数据仓库
Apache Kylin 是一个分布式的分析数据仓库,用于大数据上的超快在线分析处理 (OLAP)。它能够在大规模数据集上提供亚秒级的查询响应时间,并支持标准的 ANSI SQL 查询接口。Kylin 最初由 eBay 开发,后来捐赠给 Apache 软件基金会,现…...
informer中DeltaFIFO机制的实现分析与源码解读
informer中的DeltaFIFO机制的实现分析与源码解读 DeltaFIFO作为informer中重要组件,本文从源码层面了解是如何DelatFIFO是实现的。 DeltaFIFO的定义 找到delta_fifo.go的源码,位于client-go/tools/cache/delta_fifo.go 代码结构大致如下: store定义…...
树莓派下,centos7amr64下,搭建目标检测开发环境,java语言
在树莓派(Raspberry Pi)上使用CentOS 7 ARM64搭建基于Java的目标检测开发环境,可以按照以下步骤进行。需要注意的是,CentOS 7 ARM64的官方镜像可能不支持树莓派的某些硬件,因此你可能需要寻找第三方镜像或进行一些额外的配置。 1. 安装CentOS 7 ARM64 首先,确保你已经正…...
SpringBoot+Redis 发布与订阅
两个应用都引入 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artif…...
huggingface无法访问怎么办?一招教你解决,使用hf-mirror.com镜像站快速下载各种大模型
huggingface.co无法访问怎么办? 请访问 https://hf-mirror.com/ hf-mirror.com是一个旨在为中国国内的人工智能开发者提供更快更稳定下载服务的镜像站点,它镜像了Hugging Face的huggingface.co网站上的模型和数据集资源。由于网络环境和地理限制…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
