当前位置: 首页 > news >正文

告别复杂日志解析 用bin2sql轻松实现MySQL数据闪回

mysqlbinlog⼯具使用

use test;
CREATE TABLE `t1` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;INSERT INTO t1(id, name) SELECT 101, 'tome101';
INSERT INTO t1(id, name) SELECT 102, 'tome102';
INSERT INTO t1(id, name) SELECT 103, 'tome103';
INSERT INTO t1(id, name) SELECT 104, 'tome104';
INSERT INTO t1(id, name) SELECT 105, 'tome105';
INSERT INTO t1(id, name) SELECT 106, 'tome106';
INSERT INTO t1(id, name) SELECT 107, 'tome107';
INSERT INTO t1(id, name) SELECT 108, 'tome108';UPDATE t1 SET name = 'jack101' WHERE id = 101;
UPDATE t1 SET name = 'jack103' WHERE id = 103;
UPDATE t1 SET name = 'jack105' WHERE id = 105;DELETE FROM t1 WHERE id = 102;
DELETE FROM t1 WHERE id = 104;
DELETE FROM t1 WHERE id = 106;

此时: 通过命令

show binlog events in 'binlog.000009' \G

 可以看到所有产出的binlog日志:

查看binlog内容

mysqlbinlog --no-defaults --database=test  --start-datetime='2025-3-12 11:37:00'   mysql-bin.000009 | less

按照时间读取

mysqlbinlog --no-defaults --database=test --base64-output=decode-rows -v    
binlog.000009 --start-datetime='2025-3-12 22:45:00'   --stop-datetime='2025-3-12 23:45:00'| less#加上--base64-output=decode-rows –v 选项解析
##base64-output,可以控制输出语句输出base64编码的BINLOG语句;decode-rows选项将把基于行的事件解码成一个SQL语句

按照点位读取

mysqlbinlog --no-defaults --database=test --base64-output=decode-rows -v    
binlog.000009 --start-position=xxxxx   --stop-position=xxxx| less

bin2sql⼯具恢复误删除数据

创建用户并给权限,插入测试数据

create user 'dba'@'%'identified by 'mysql';
GRANT all ON *.* TO 'dba'@'%';
grant super on *.* to 'binlog2sql'@'%';
create table a1(id int,name varchar(10));
insert into a1 values (1,'a');

安装必要的依赖包

yum -y install epel-release 安装一个python3.8,这里我直接上传的软件包
1.上传软件包
2.
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc gcc-c++ make zlib-devel bzip2 bzip2-devel readline-devel \sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
3.
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall

 安装bin2sql

git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
pip install -r requirements.txt 
pip3 install  pymysql 

 说实话安装过程坑极多,给的安装教程又很简单

官网给的安装教程:真心希望能改进一下文档。。。

bin2sql 的使用:

标准用法-解析出执行过的sql
python binlog2sql.py  -h127.0.0.1 -P3306  -udba -pmysql -dtest -ta1 --start-file='binlog.000001'

解析回滚SQL 
python binlog2sql.py --flashback -h127.0.0.1 -P3306  -udba -pmysql -dtest -ta1 --start-file='binlog.000001'

如上图,我执行了一条insert 语句 ,bin2sql 能解析出它的回滚语句是什么。

实战误删整张表数据,需要紧急回滚

表内容如下

 

 恢复步骤

 1.登录mysql,查看目前的binlog文件

2.最新的binlog文件是mysql-bin.000001,我们再定位误操作SQL的binlog位置。误操作人只能知道大致的误操作时间,我们根据大致时间过滤数据。 

 python binlog2sql.py  -h127.0.0.1 -P3306  -udba -pmysql -dtest -tt1 --start-file='binlog.000001' --start-datetime='2025-3-12 17:45:00' --stop-datetime='2025-3-12 17:50:00'

如图,bin2sql 解析出了所有误操作删除的内容。 

python binlog2sql.py  -h127.0.0.1 -P3306  -udba -pmysql -dtest -tt1 --start-file='binlog.000001' --start-datetime='2025-3-12 17:45:00' --stop-datetime='2025-3-12 17:50:00' -B >rollback.sql | cat

 执行sql 文件,数据恢复成功。

mysqlbinlog VS bin2sql

对比维度mysqlbinlog (MySQL 官方工具)bin2sql (第三方开源工具)
核心功能解析二进制日志,生成原始 SQL 或回滚语句从二进制日志中解析出可读 SQL(正向/反向),支持事务拆分
优势1. 官方支持,兼容性高
2. 直接集成于 MySQL,无需安装
3. 支持时间范围、数据库过滤等基础过滤
4. 可生成回滚 SQL(需配合 -v 或第三方脚本)
1. 输出 SQL 可读性更好(直接展示 DML)
2. 支持事务拆分,精准定位操作
3. 提供用户权限解析(可选)
4. 支持生成反向 SQL(数据回滚)
5. 部分工具提供 Web 界面(如 Binlog2SQL)
劣势1. 输出结果含底层细节(如 @1=...),需手动处理可读性
2. 复杂事务解析困难(如大事务)
3. 无原生用户权限信息解析
4. 依赖命令行操作,对新手不友好
1. 依赖 Python 环境
2. 处理超大 binlog 时性能较低
3. 功能局限(仅生成 SQL,无直接恢复功能)
4. 社区支持弱于官方工具
5. 部分场景需手动处理(如 DDL 语句)
典型场景1. 快速查看 binlog 内容
2. 结合脚本实现数据恢复
1. 误操作数据恢复(生成反向 SQL)
2. 审计日志分析
依赖环境仅需 MySQL 客户端需 Python 及依赖库(如 pymysql
输出灵活性支持原始 SQL、ROW 格式解析、时间过滤支持正向/反向 SQL、事务级过滤、表级过滤
用户友好性低(需熟悉命令行参数)中(提供更直观的 SQL 输出和过滤选项)
性能高(C++ 编写,原生工具)中低(Python 解析,大文件处理较慢)

相关文章:

告别复杂日志解析 用bin2sql轻松实现MySQL数据闪回

mysqlbinlog⼯具使用 use test; CREATE TABLE t1 (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(20) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;INSERT INTO t1(id, name) SELECT 101, tome101; INSERT INTO t1(id, name) SELECT 102, tome1…...

uniapp简单table表

<template><view class"container"><scroll-view scroll-x"true" scroll-y"true" class"table-scroll"><view class"table-header"><view class"table-cell fixed-column">序号<…...

prompt大师高效提示词解析

Prompt大师李继刚高效提示词示例解析 一、「汉语新解」提示词 核心结构 采用Lisp语言框架嵌套中文语义&#xff0c;通过(defun 新汉语老师 ()...)定义角色风格&#xff08;融合奥斯卡王尔德、鲁迅的批判性语言&#xff09;&#xff0c;用(隐喻 (一针见血...))构建解释逻辑链。…...

uni-app如何发布项目为app_2025

参考大佬的&#xff1a;uni-app项目打包成apk&#xff08;本地打包篇&#xff09;_uniapp打包apk-CSDN博客 1、导入前配置 在 HBuilder X 中打开uni-app项目中的 mainifest.json 文件&#xff0c;appid没有的话可以点“重新获取” 2、打包 然后关注控制台&#xff0c;导出成功…...

MySQL与Canal、RabbitMQ集成指南

MySQL 部分 1. 查看是否开启 binlog MySQL 8 默认开启 binlog。可以通过以下命令查看是否开启&#xff1a; SHOW VARIABLES LIKE log_bin;如果返回结果为 ON&#xff0c;则表示 binlog 已开启。 Variable_nameValuelog_binON 2. 若未开启 binlog&#xff0c;则需手动配置 …...

新品发布|启英泰伦联合启明云端推出离在线语音大模型方案

当前&#xff0c;生成式大模型正以颠覆性姿态重塑人机交互的边界&#xff0c;并逐渐向终端场景渗透。然而&#xff0c;云端大模型在落地终端场景时面临两大挑战&#xff1a; 在真实噪声场景下容易听不清、误识别&#xff0c;影响交互准确性&#xff1b;云端处理冗余数据及大规…...

网编高级 day01

网编高级 day01 0. 大纲1. Modbus协议1.1. Modbus起源1.2. 分类1.3. Modbus TCP特点 2. Modbus TCP协议格式2.1. 报文头2.2. 寄存器2.3. 功能码 0. 大纲 协议&#xff1a; modbus协议&#xff1a;modbus TCP、modbus RTUhtml 网页&#xff1a;http协议Webserver 工具&#x…...

2001-2023年上市公司数字化转型年报词频统计(年报词频统计和MDA词频统计两种方式)(吴非、赵宸宇、甄红线300+关键词三种方法)

2001-2023年上市公司数字化转型年报词频统计&#xff08;年报词频统计和MD&A词频统计两种方式&#xff09;&#xff08;吴非、赵宸宇、甄红线300关键词三种方法&#xff09; 1、时间&#xff1a;2001-2023年 2、来源&#xff1a;上市公司年报 3、参考文献&#xff1a; …...

数据分析与AI丨AI Fabric:数据和人工智能架构的未来

AI Fabric 架构是模块化、可扩展且面向未来的&#xff0c;是现代商业环境中企业实现卓越的关键。 在当今商业环境中&#xff0c;数据分析和人工智能领域发展可谓日新月异。几乎每天都有新兴技术诞生&#xff0c;新的应用场景不断涌现&#xff0c;前沿探索持续拓展。可遗憾的是&…...

MQ消息发送不在MySQL事务中,该如何保证一致性?

在 MQ 消息发送与 MySQL 事务分离的场景下&#xff0c;可通过以下方案保障数据一致性&#xff1a; 一、核心原则 确保 业务操作成功 与 消息发送成功 的最终一致性&#xff0c;避免因网络抖动、服务宕机等异常导致以下问题&#xff1a; 场景1&#xff1a;业务操作成功但消息未…...

[rust] rust学习

rust学习 1. 项目组织结构 工程 # 创建一个工程 cargo new my-project工作空间 在 Rust 中&#xff0c;工作空间&#xff08;Workspace&#xff09; 是一个包含多个 Rust 项目的共享环境&#xff0c;用于管理多个 crate&#xff08;库或可执行文件&#xff09;。它允许多个…...

艾尔登复刻Ep1——客户端制作、场景切换、网络控制

需要添加的插件内容 Netcode for GameObjects&#xff1a;是一个为 Unity 游戏开发提供高级网络功能的 SDK。它的主要作用是允许开发者在其 GameObject 和 MonoBehaviour 工作流中集成网络功能&#xff0c;并且可以与多种底层传输层协议兼容。 具体内容请看&#xff1a;https:…...

正则表达式(复习)

文章目录 一、[]: 一个字符集合二、{}: 重复次数三、特殊符号四、(): 分组五、python代码示例六、注意 正则表达式(regular expression)描述了一种字符串匹配的模式&#xff08;pattern&#xff09;&#xff0c;可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个…...

密码学笔记

密码学 一、密码学基础概念 1. CIA三要素 机密性 (Confidentiality)&#xff1a;信息不被未授权者访问。 例子&#xff1a;用钥匙锁住日记本&#xff0c;只有你有钥匙。 完整性 (Integrity)&#xff1a;信息在传输/存储中不被篡改。 例子&#xff1a;快递包裹封条&#xff0c…...

C#结构体(Struct)详解

在 C# 中&#xff0c;‌结构体&#xff08;struct&#xff09;‌ 是一种值类型数据类型&#xff0c;适用于封装小型数据组。与类&#xff08;class&#xff09;不同&#xff0c;结构体在栈&#xff08;Stack&#xff09;上分配内存&#xff0c;且赋值时会发生值复制。以下是结构…...

Tomato靶机通关攻略

1.安装并开启靶机 2.用Kali查询靶机IP Kali 的IP 靶机的IP 3.访问靶机 4.用御剑扫描端口 5.获取敏感目录 分别访问三个目录 6.查看目录 发现info.php并进入 查看源码&#xff0c;发现文件包含漏洞 利用漏洞查看日志文件 http://192.168.40.139/antibot_image/antibots/info…...

Go Ebiten小游戏开发:俄罗斯方块

在这篇文章中&#xff0c;我们将一起开发一个简单的俄罗斯方块游戏&#xff0c;使用Go语言和Ebiten游戏库。Ebiten是一个轻量级的游戏库&#xff0c;适合快速开发2D游戏。我们将逐步构建游戏的基本功能&#xff0c;包括游戏逻辑、图形绘制和用户输入处理。 项目结构 我们的项…...

Github 2025-03-12 C开源项目日报Top5

根据Github Trendings的统计,今日(2025-03-12统计)共有5个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目5C++项目1Lean的LEDE源码:为国产龙芯LOONGSON SoC loongarch64/飞腾Phytium腾锐2000系列架构添加支持 创建周期:2338 天开发语言:C协议类…...

【机器学习-基础知识】统计和贝叶斯推断

1. 概率论基本概念回顾 1. 概率分布 定义: 概率分布(Probability Distribution)指的是随机变量所有可能取值及其对应概率的集合。它描述了一个随机变量可能取的所有值以及每个值被取到的概率。 对于离散型随机变量,使用概率质量函数来描述。对于连续型随机变量,使用概率…...

Unity3D 着色器优化(Shader Optimization)

前言 Unity3D 着色器&#xff08;Shader&#xff09;优化是提升渲染性能的关键环节&#xff0c;尤其是在移动设备或复杂场景中。以下是系统的优化策略和实践建议&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经…...

基于SpringBoot的“体育购物商城”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“体育购物商城”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体模块设计 前台用户登录界面 系统首页界面…...

数据库约束

数据库约束 1. NULL约束2. UNIQUE&#xff1a;唯一约束3. DEFAULT&#xff1a;默认值约束4. PRIMARY KEY&#xff1a;主键约束5. FOREIGN KEY&#xff1a;外键约束6. CHECK约束 数据库约束是关系型数据库的一个重要功能&#xff0c;主要作用是保证数据的正确性&#xff0c;也就…...

【经典算法】Leetcode-零钱兑换问题

一、题目 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。你可以认为每种硬币的数量是无限的…...

Go 语言使用Protobuf 进行序列化详解

文章目录 Go 语言使用Protobuf 进行序列化详解1. Protobuf是什么?2. 安装Protobuf 及 Go 依赖3. 编写.proto 文件4. 实现序列化和反序列化 Go 语言使用Protobuf 进行序列化详解 1. Protobuf是什么? 以下是 Protobuf 官方中文文档的概述: Protobuf(Protocol Buffers) 是一种…...

Windows控制台函数:标准输入输出流交互函数GetStdHandle()

目录 什么是 GetStdHandle&#xff1f; 它长什么样&#xff1f; 怎么用它&#xff1f; 它跟 std::cout 有什么不一样&#xff1f; GetStdHandle 是一个 Windows API 函数&#xff0c;用于获取标准输入、标准输出或标准错误设备的句柄。它定义在 Windows 的核心头文件 <…...

自然语言处理初学者指南

文章目录 一、说明二、自然语言处理发展史2.1 最早的自然语言处理简介2.2 历史2.3 NLP 的早期工作 三、NLP的现代方法3.1 单词编码3.2 循环神经网络3.3 强化学习3.4 深度学习 四、更进一步的方法 一、说明 对于初学者来说&#xff0c;自然语言处理的发展历史非常有必要了解&am…...

Kubernetes教程(七)了解集群、标签、Pod和Deployment

了解集群、标签、Pod和Deployment 一、K8s资源对象二、K8s集群1. Master2. Node 三、Namespace&#xff08;命名空间&#xff09;四、Label&#xff08;标签&#xff09;五、Pod1. 共享网络命名空间2. 共享数据 六、工作负载1. 设置副本数2. 应用升级 结语 Kubernetes的知识真的…...

【BUG分析】微服务无法读取Nacos中的共享配置

项目场景 基于Spring Cloud微服务的商城系统。 使用Nacos进行统一配置管理&#xff0c;在bootstrap.xml中读取配置参数。 问题描述 购物车微服务可以读取Nacos中的共享mybatis配置&#xff0c;商品管理微服务却读不到&#xff0c;启动报错提示无法配置数据库源&#xff1a; …...

SpringMVC (一)基础

目录 SpringMVC 一 简单使用 1 新建模块选择指定参数 2 创建实现类 3 将项目启动 4 运行结果&#xff1a;在浏览器当中响应执行 二 RequestMapping 三 请求限定 SpringMVC SpringMVC是Spring的web模块&#xff0c;用来开发Web应用&#xff0c;SpringMVC应用最终作为B/…...

【ES6】ES6中的类

基础定义和使用 class Animal {constructor(name, species, age) {this.name namethis.species speciesthis.age age} }let dog new Animal("Spot", "Dog", 4)私有变量 变量名前带#即可。 Getter 和Setter方法 继承 // 父类 class Point{construc…...

兴达易控Profinet 转 ModbusTCP跨网段通信模块

Profinet 转 ModbusTCP/跨网段通信模块 Profinet转ModbusTCP/跨网段通信模块&#xff0c;作为现代工业自动化系统中不可或缺的重要组件&#xff0c;正日益受到广泛关注和应用。 这种模块的核心功能是将Profinet网络协议转换为Modbus TCP协议&#xff0c;实现不同网络之间的无缝…...

linux 的免密切换用户PAM配置

/etc/pam.d/su是Linux系统中与用户切换&#xff08;su命令&#xff09;相关的PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插拔认证模块&#xff09;配置文件。以下是对它的详细介绍&#xff1a; 简介 作用 PAM是一种用于管理系统认证的机制&#xff0c;…...

使用 Python pandas操作 Excel 文件

使用 Python pandas 操作 Excel 文件 flyfish pandas 是 Python 中一个强大的数据处理和分析库&#xff0c;它提供了丰富的数据结构&#xff08;如 Series 和 DataFrame&#xff09;和数据操作方法&#xff0c;能够方便地处理各种数据格式&#xff0c;包括 Excel 文件。 安装…...

UE5.5 Niagara 发射器粒子更新模块

Particle State &#xff08;粒子状态&#xff09;模块 Particle State 主要用于控制粒子的生存状态&#xff0c;包括死亡、消失、响应事件等。 Particle State Kill Particles When Lifetime Has Elapsed 当粒子的生命周期结束时&#xff0c;销毁这些粒子。 Lifetime &…...

状态模式的C++实现示例

核心思想 状态模式&#xff08;State Pattern&#xff09; 是一种行为设计模式&#xff0c;允许对象在其内部状态改变时改变其行为。它将状态相关的逻辑分散到不同的状态类中&#xff0c;避免了使用大量的条件语句来处理不同状态下的行为。 状态抽象化&#xff1a;将对象的状…...

ThinkPHP8.0+MySQL8.0搭建简单实用电子证书查询系统

客户花了100元买了一个系统&#xff0c;开始不能导入&#xff0c;到处找人帮忙解决。给解决能导入了&#xff0c;不能修改&#xff0c;满足不了用户的需求。用户一狠心&#xff0c;花200块钱&#xff0c;叫我给他定制了一个电子证书查询系统。还免费给部署到服务器。惭愧惭愧……...

STM32全系大阅兵(2)

接前一篇文章:STM32全系大阅兵(1) 本文内容参考: STM32家族系列的区别_stm32各个系列区别-CSDN博客 STM32--STM32 微控制器详解-CSDN博客...

upload-labs通关攻略 【Pass-01~Pass-19】

注意&#xff1a;GitHub中upload-labs有多个版本:19关、21关、23关。版本不同&#xff0c;关卡的顺序也很可能不同。此次例子是21关。 项目地址&#xff1a;https://github.com/c0ny1/upload-labs 一、Pass-01 【js前端检测的绕过】 1. 打开Pass-01 访问&#xff1a;ip/uploa…...

HCIP复习拓扑练习(修改版)

拓扑&#xff1a; 实际&#xff1a; 需求&#xff1a; 需求分析 1.这意味着学校内部网络能够正常解析域名并进行互联网访问。 2. PC1和PC2处于同一个内网192.168.1.0/24&#xff0c;其中PC1有权限访问外部网段3.3.3.0/24&#xff0c;而PC2没有。这涉及ACL&#xff08;访问控制…...

Zabbix 7.2 + Grafana 中文全自动安装ISO镜像

简介 ​ 基于Zabbix 官方的Alma Linux 8 作为基础镜像。 镜像源都改为国内大学镜像站&#xff0c;自动联网安装ZabbixGrafana。 安装中文字体、Zabbix和Grafana也配置默认中文。 Zabbix 也指定中文字体&#xff0c;绘图无乱码。 配置时区为东八区&#xff0c;Zabbix配置We…...

使用 Python 将 PDF 转换为文本:打造一个简单高效的提取工具

在数字化时代&#xff0c;PDF 文件是我们日常生活中常见的文档格式。无论是学术论文、工作报告还是电子书&#xff0c;PDF 的广泛使用让提取其中文字内容成为一个常见需求。手动复制粘贴显然效率低下&#xff0c;而借助 Python&#xff0c;我们可以轻松实现自动化提取。本文将介…...

scoop退回软件版本的方法

title: scoop退回软件版本的方法 date: 2025-3-11 23:53:00 tags: 其他 前言 在软件更新后&#xff0c;如果出现了很影响使用体验的问题&#xff0c;那么可以把软件先退回以前的版本进行使用&#xff0c; 但是scoop本身并没有提供直接让软件回退版本的功能&#xff0c;因此…...

网络爬虫-2:正则化

1.正则化 一.正则化 1.转义字符 转义字符含义\s空白字符&#xff08;空格、制表符等&#xff09;\d数字字符&#xff08;0-9&#xff09;\w字母、数字或下划线.除换行符外的任意字符\n换行符\t制表符 import re result re.findall(r\s, Hello World\nPython) print(result)…...

emacs使用mongosh的方便工具发布

github项目地址: GitHub - csfreebird/emacs_mongosh: 在emacs中使用mongosh快速登录mongodb数据库 * 用途 在emacs中使用mongosh快速登录mongodb数据库&#xff0c; 操作方法: M-x mongosh, 输入数据库名称&#xff0c;然后就可以自动登录&#xff0c;前提是你已经配置好了…...

【Spring】详细剖析Spring程序

文章目录 一、Spring概述1. Spring简介1.1 OCP开闭原则1.2 依赖倒置原则DIP1.3 控制反转IoC 2. Spring8大模块 二、Spring的入门程序1. Spring官网2. 第一个Spring程序2.1 创建工程2.2 配置 pom.xml&#xff1a;2.3 定义bean&#xff1a;User . java2.4 配置文件 spring.xml2.5…...

《MySQL数据库从零搭建到高效管理|库的基本操作》

目录 一、数据库的操作 1.1 展示数据库 1.2 创建数据库 1.3 使用数据库 1.4 查看当前数据库 1.5 删除数据库 1.6 小结 二、常用数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 一、数据库的操作 打开MySQL命令行客户端&#xff0c;安装完MySQL后会有两个客户端…...

docker部署jenkins,安装使用一条龙教程

Jenkins k8s 实现CI/CD 一、简介 1. JenKins是什么? Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。 2. 什么是CI / CD…...

图像识别技术与应用-YOLO

1 YOLO-V1 YOLO-V1它是经典的one-stage方法&#xff0c;You Only Look Once&#xff0c;名字就已经说明了一切&#xff01;把检测问题转化成回归问题&#xff0c;一个CNN就搞定了&#xff01;也可以对视频进行实时检测&#xff0c;应用领域非常广&#xff01; YOLO-V1诞生与2…...

【网络通信安全】子专栏链接及简介

目录 操作系统安全&#xff1a;筑牢网络安全根基​ 网络协议安全&#xff1a;守护数据传输通道​ Web 站点安全开发&#xff1a;打造安全的网络交互平台​ 在数字化浪潮席卷的当下&#xff0c;网络通信已深度融入生活与工作的方方面面&#xff0c;从日常的线上购物、社交互动…...

Oracle比较好的几本书籍

1.《Oracle专家高级编程》 2.《Oracle高效设计》 3.《Oracle9i&10g&11g编程艺术深入数据库体系结构》 4.《让Oracle跑的更快》(1/2) ....... n.《Oracle官方文档的阅读》下面包括这几个部分&#xff0c;可以跟进研读一下&#xff1a; &#xff08;1&#xff09;《…...