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

【MySQL | 八、 事务管理】

文章目录

  • 什么是事务?
  • 事务的特性:
  • 事务的意义
  • 事务的提交
    • 查看事务提交方式
    • 事务的自动提交
    • 事务的手动提交
      • 开始事务
      • 执行SQL操作
      • 事务操作
      • 提交事务
      • 示例:
  • 事务的隔离级别
    • 并发访问的基本概念
    • 并发事务的典型问题
    • 对ACID特性的影响
    • 查看和设置隔离属性
    • 各个隔离级别的详细介绍
      • 读未提交`EAD UNCOMMITTED`
      • 读提交`READ COMMITTED`
      • 可重复读`REPEATABLE READ`(默认)
      • 串行化`SERIALIZABLE`

什么是事务?

在 MySQL 中只有使用了 ==InnoDB 数据库引擎的数据库或表才支持事务, MyISAM 不支持。==事务(Transaction) 是一组(可以为一句或多句)SQL 语句的集合,这些语句作为一个整体执行,要么全部成功,要么全部失败。

事务的特性:

事务通常用 ACID 特性来描述:

  • 原子性(Atomicity)
    事务中的所有操作要么全部成功,要么全部失败。如果事务中的任何一条语句失败,整个事务都会被回滚(Rollback),恢复到事务开始前的状态。
  • 一致性(Consistency)
    事务执行后,数据库必须从一个一致的状态转换到另一个一致的状态。一致性可以理解为“目标达成过程是合理且符合规则的”。例如,转账操作中,总金额在转账前后应该保持一致。
  • 隔离性(Isolation)
    多个并发事务之间相互隔离,一个事务的操作不会影响其他事务。MySQL 提供了不同的隔离级别(如 READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE)来控制事务的隔离程度。
  • 持久性(Durability)
    一旦事务提交(Commit),它对数据库的修改就是永久性的,即使系统发生故障也不会丢失

事务的意义

事务的主要目的是确保数据库的完整性和一致性,特别是在并发操作和系统故障的情况下。

  1. 确保数据完整性
    事务将一组操作(SQL 语句)打包成一个逻辑单元,要么全部成功,要么全部失败。
    例子:银行转账操作中,从账户 A 扣款和向账户 B 加款必须同时成功或同时失败。如果只有扣款成功而加款失败,数据就会不一致。
    意义:事务避免了部分操作成功、部分操作失败导致的数据不一致问题。
  2. 支持并发操作
    在多用户或多应用同时访问数据库时,事务通过隔离性确保并发操作不会互相干扰。
    例子:用户 A 和用户 B 同时修改同一条数据,事务可以确保他们的操作按顺序执行,而不是互相覆盖。
    意义:事务保证了并发环境下的数据正确性。
  3. 提供故障恢复机制
    在系统发生故障(如断电、崩溃)时,事务的持久性确保已提交的操作不会丢失,而未提交的操作会被回滚。
    例子:如果数据库在转账过程中崩溃,事务可以确保恢复到转账前的状态,避免数据损坏。
    意义:事务提高了系统的可靠性和容错能力。
  4. 简化复杂操作
    事务将复杂的操作封装成一个逻辑单元,开发者不需要手动处理每一步操作的成功或失败。
    例子:在电商系统中,下单操作可能涉及库存减少、订单记录生成、支付状态更新等多个步骤,事务可以确保这些步骤要么全部成功,要么全部回滚。
    意义:事务简化了开发流程,降低了出错概率。
  5. 支持一致性约束
    事务可以确保数据库从一个一致状态转换到另一个一致状态,满足业务规则和约束条件。
    例子:在库存管理系统中,库存数量不能为负数,事务可以确保所有操作都符合这一规则。
    意义:事务维护了数据的逻辑正确性。

事务的提交

没错,事务是需要提交的。

查看事务提交方式

show variables like 'autocommit';

mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
1 row in set (0.41 sec)

autocommit = 1(ON):表示自动提交
autocommit = 0(OFF):表示禁止自动提交

事务的自动提交

在 MySQL 中,默认情况下,每条 SQL 语句都会自动提交autocommit = 1(ON)

事务的手动提交

SET 来改变 MySQL 的自动提交模式:

mysql> SET AUTOCOMMIT=0; 
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | OFF |
+---------------+-------+
1 row in set (0.00 sec)

autocommit = 0(OFF)时需要手动提交:

开始事务

使用 START TRANSACTIONBEGIN 语句开始一个新的事务。

执行SQL操作

在事务中执行一系列 SQL 操作(如 INSERTUPDATEDELETE)。

事务操作

创建临时保存点: savepoint save2;(save2为保存点的名)
回滚操作:rollback to save2;(回滚到save2保存点)
rollback:回滚到最开始
如果一个事务被提交了(commit),则不可以回退(rollback)

提交事务

使用COMMIT进行事务提交。

示例:

#开始事务
START TRANSACTION;#操作1:从账户1扣款100元
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
#操作2:向账户2加款100元
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;#提交事务
COMMIT;

事务的隔离级别

并发访问的基本概念

在数据库领域,并发特指数据库系统同时处理多个事务的能力,允许不同用户/应用程序同时访问和修改数据。

MySQL服务会被多个客户端进程/线程并发访问,这些访问以事务方式执行。

并发事务的典型问题

如果没有适当的事务隔离机制(Isolation),并发事务之间会产生三种典型问题

  1. 脏读(Dirty Read):事务A读取到事务B未提交的修改
  2. 不可重复读(Non-repeatable Read):事务A内两次读取同一数据,结果不同(因事务B在此期间修改了数据)
  3. 幻读(Phantom Read):事务A两次查询同一条件,得到不同记录集(因事务B在此期间新增/删除了数据)

对ACID特性的影响

这些问题会破坏事务的ACID特性中的:

  • 一致性:事务执行后数据库应保持合法状态
  • 隔离性:事务间不应相互干扰

事务隔离性指的是在并发环境下,一个事务的执行不应受到其他并发事务的干扰,每个事务都应该像是在独立执行一样。确保业务逻辑的正确执行,避免因并发导致的数据逻辑错误。
上述问题MySQL通过四种隔离级别解决这些问题:

隔离级别脏读不可重复读幻读备注
读未提交 EAD UNCOMMITTED最低隔离级别
读提交 READ COMMITTED×Oracle默认级别
可重复读 REPEATABLE READ(默认)××MySQL默认级别
串行化 SERIALIZABLE×××最高隔离级别

*注:MySQL的InnoDB引擎通过间隙锁(Gap Lock)在REPEATABLE READ级别也能避免大部分幻读

隔离级别如何实现:隔离,基本都是通过锁实现的,不同的隔离级别,锁的使用是不同的。常见有,表
锁,行锁,读锁,写锁,间隙锁(GAP),Next-Key锁(GAP+行锁)等,

查看和设置隔离属性

隔离属性作用域是事务或会话
@@global.tx_isolation:全局事务隔离级别
@@session.tx_isolation:当前会话隔离级别
@@tx_isolation:等同于@@session.tx_isolation

#查看全局事务隔离级别和(当前)会话事务隔离级别
SELECT@@global.tx_isolation,@@session.tx_isolation;#设置隔离事务级别
set [session | global] 
transaction isolation level 
[read uncommitted | read commit | repeatable read | serializable]; 
#设置当前会话的隔离事务级别为 serializable
set session 
transaction isolation level 
serializable;
  • MySQL默认@@global.tx_isolation值为:REPEATABLE READ(可重复读)。
  • 新会话的@@session.tx_isolation会继承@@global.tx_isolation的当前值。
  • 全局事务隔离级别用于初始化会话隔离事务级别的值。
  • 更新@@global.tx_isolation后只对于后续新创立的会话的@@session.tx_isolation生效。已有会话的隔离级别不变。
  • 更新@@session.tx_isolation后只对于当前会话后续新建的事务生效。已开启的事务不生效。

各个隔离级别的详细介绍

  • 每个事务的读取行为只受自身隔离级别控制
  • 写操作会受其他事务的隔离级别间接影响(通过锁机制)
  • 不同级别事务间的交互需要通过锁机制协调
    假设:有两个会话A、B。
    场景:银行转账业务C、D两个账户(初始余额:C=1000,D=1000)
    假设:会话B新建事务(进行向D账户转100,转三次,并新增一个E账户存1000)

读未提交EAD UNCOMMITTED

当A在新建事务前为此隔离等级此时不论B会话处于什么隔离级别,A会话下事务可以随时读取B下事务未提交的结果 A会话下的事务每次访问D账户的余额可能不同,同时随时可能新增一个账户 显示这是脏读、不可重复读和幻读


此隔离级别下的事务几乎没有隔离性。

读提交READ COMMITTED

当A会话在新建事务前为此隔离等级那么A会话下的事务在B会话下的事务未提交前是看不到D账户有任何变化的,但若B下的事务早于A下的事务进行了提交,那么A下的事务每次查询(提交前和提交后)的结果仍可能不同显然这是不可重复读和幻读

可重复读REPEATABLE READ(默认)

在MYSQL中当A会话在新建事务前为此隔离等级 A会话下的事务看不到其他事务在A启动后提交的任何新数据

值得一提的是: 一般的数据库在可重复读情况的时候,无法屏蔽其他事务insert的数据(为什么?因为隔离性实现是对数据加锁完成的,而insert待插入的数据因为并不存在,那么一般加锁无法屏蔽这类问题),会造成虽然大部分内容是可重复读的,但是insert的数据在可重复读情况被读取出来,导致多次查找时,会多查找出来新的记录,就如同产生了幻觉。这种现象,叫做幻读。很明显,MySQL在RR级别的时候,是解决了幻读问题的(解决的方式是用Next-Key锁(GAP+行锁)解决的。

串行化SERIALIZABLE

对所有操作全部加锁,进行串行化,不会有问题。

隔离级别越严格,安全性越高,但数据库的并发性能也就越低,往往需要在两者之间找一个平衡点。

相关文章:

【MySQL | 八、 事务管理】

文章目录 什么是事务?事务的特性:事务的意义事务的提交查看事务提交方式事务的自动提交事务的手动提交开始事务执行SQL操作事务操作提交事务示例: 事务的隔离级别并发访问的基本概念并发事务的典型问题对ACID特性的影响查看和设置隔离属性各个…...

Ubuntu 下搭建 MCU 开发环境全流程指南(以 STM32 为例)

在嵌入式开发中,许多工程师都习惯于在 Windows 平台使用 Keil、IAR 等 IDE。然而,随着对自动化、可定制性以及开放工具链的需求增长,越来越多的开发者开始尝试在 Linux 环境下进行 MCU 开发。 本篇文章将以 STM32F1 系列 为例,手把手带你在 Ubuntu 下搭建一个完整的 MCU 开…...

Redis淘汰策略详解!

目录 一、为什么需要淘汰策略? 🤔二、Redis 的淘汰策略详解 👇三、如何选择合适的淘汰策略? 🤔➡️✅四、如何切换 Redis 的淘汰策略? ⚙️🔧五、总结 🎉 🌟我的其他文章…...

基于51单片机和TM1638模块的小游戏《打地鼠》

目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、TM1638模块2、定时器03、定时器1 四、主函数总结 系列文章目录 前言 有两个版本,普中开发板版本和最小系统板版本,两个版本差别在于晶振频率不一样,其他的都相同。 本文代码…...

机器学习之数据预处理(一):缺失值处理和异常值识别的几种常用方法

始终致力于将复杂知识通俗化的不断追求中,不足之处欢迎批评指正。 1、噪声处理 噪声是一个测量变量中的随机错误或偏差,是观测值和真实值之间的误差,包括错误值或偏离期望的孤立点值。对于噪声的处理,通常可以采用数据平滑技术来…...

25/4/6 算法笔记<仿真O2DES>基础知识学习

此文章就来整理一下我学习到的O2DES仿真框架的一些核心知识 核心概念: 模拟器(Simulator):模拟器是O2DES框架的核心组件,用来管理模拟时钟,事件调度和执行。可以通过Simulator类创建模拟环境&#…...

Three.js 系列专题 3:光照与阴影

内容概述 光照是 3D 场景真实感的关键。Three.js 提供了多种光源类型,每种光源有不同的效果和用途。本专题还将介绍如何启用和优化阴影效果,提升场景的深度感。 学习目标 理解不同光源类型及其应用场景。掌握在 Three.js 中添加光源并启用阴影。学会调整阴影效果以平衡真实…...

接口自动化学习五:mock工具使用

Moco简介: Mock是一个简单搭建模拟服务器的框架,可以用来模拟http、https、socket等协议。 原理: Mock会根据一些配置,启动一个真正的HTTP服务(会监听本地的某个端口),当发起的请求满足某个条件时&#xf…...

Java学习——day22(Java反射基础入门)

文章目录 1.反射的定义2. 认识反射的关键API2.1 Class2.2 Field2.3 Method2.4 Constructor 3. 示例代码讲解与分析4. 编写反射示例代码的步骤4.1 定义测试类4.2 编写主程序,使用反射获取信息4.3 通过反射创建对象并调用方法 5. 总结6.今日生词 Java反射笔记 1.反射的…...

字符串、列表、元组、字典

字符串 双引号或者单引号中的数据,就是字符串 字符串输入 之前在学习input的时候,通过它能够完成从键盘获取数据,然后保存到指定的变量中; 注意:input获取的数据,都以字符串的方式进行保存,即…...

数据分析-Excel-学习笔记

Day1 复现报表聚合函数:日期联动快速定位区域SUMIF函数SUMIFS函数环比、同比计算IFERROR函数混合引用单元格格式总结汇报 拿到一个Excel表格,首先要看这个表格个构成(包含了哪些数据),几行几列,每一列的名称…...

Nginx 常见面试题

一、nginx常见错误及处理方法 1.1 404 bad request 一般原因:请求的Header过大 解决办法: 配置nginx.conf 相关设置1. client_header_buffer_size 16k; 2. large_client_header_buffers 4 64k;1.2 413 Request Entity Too Large 一般原因&#xff1…...

Spring 中的 @Autowired 和 @Resource

🧩 一、Autowired 和 Resource 的基本作用 注解来源作用AutowiredSpring 提供(org.springframework.beans.factory.annotation.Autowired)按类型 自动注入ResourceJDK 提供(javax.annotation.Resource)默认按名称 注入…...

IAGCN:登上《Nature》的深度学习可解释性情感分析模型突破

IAGCN:登上《Nature》的深度学习可解释性情感分析模型突破 一、技术突破背景 社交媒体时代,用户生成内容的情感分析需求激增。传统方面级情感分析模型在复杂语境下存在特征交互捕捉不足、情感极性判定偏差等问题。微软亚洲研究院联合清华大学提出的交互…...

Go 学习笔记 · 进阶篇 · 第一天:接口与多态

🐶Go接口与多态:继承没了,但自由炸裂! 最近翻 Go 的代码,突然看到这么一段: type Animal interface {Speak() string }我一愣,咦?这不就是 Java 里常见的“接口”吗? …...

模运算:数字世界中的时空扭曲法则——从密码学到量子计算的跨维演绎

一、模宇宙基本定理:重构数字时空的底层逻辑 1.1 同余关系的时空折叠效应 在模运算创造的离散时空中,数字呈现出环状拓扑结构。当我们在模7空间观察时,12与5通过时空折叠达成量子纠缠:12 ≡ 5 (mod 7)。这种性质使得RSA加密算法…...

0303hooks-react-仿低代码平台项目

文章目录 1. 副作用2.其他内置hooks2.1 useEffect2.2 useRef2.3useMemo2.4 useCallback 3.自定义hooks4. 第三方hooks5. hooks使用原则6. hooks闭包陷阱7. 总结结语 1. 副作用 当组件渲染完成时,加载一个Ajax网络请求当某个state更新时,加载一个Ajax网络…...

Batch Normalization:深度学习训练的加速引擎

引言 在深度学习的发展历程中,训练深度神经网络一直是一项极具挑战性的任务。随着网络层数的增加,梯度消失、梯度爆炸以及训练过程中的内部协变量偏移(Internal Covariate Shift)问题愈发严重,极大地影响了模型的收敛…...

nacos的地址应该配置在项目的哪个文件中

在 Spring Boot 和 Spring Cloud 的上下文中,​Nacos 的地址既可以配置在 bootstrap.yml 中,也可以配置在 application.yml 中,但具体取决于使用场景和需求。以下是两者的区别和最佳实践: ​1. bootstrap.yml vs application.yml …...

【数据集】 PBMC(Peripheral Blood Mononuclear Cells)数据集

🧬 一、PBMC 数据集简介 内容描述名称Peripheral Blood Mononuclear Cells(外周血单个核细胞)细胞类型包括 B 细胞、T 细胞、NK 细胞、单核细胞等技术平台通常由 10x Genomics 提供(例如 3k、4k、6k、10k 版本)数据类…...

3. go-zero中如何使用redis

问题 go-zero项目相关文档中redis是这样配置的: Name: account.rpc ListenOn: 0.0.0.0:8080 Etcd:Hosts:- 127.0.0.1:2379Key: account.rpcMysql:Host: xxxx:3306User: rootPass: xxxData: mall-userCharset: utf8mb4Cache: - Host: 192.168.145.10:6379Type: nod…...

Redis基础知识

Redis基础知识 一、Redis简介 1.1 什么是Redis? Redis是一个开源的、基于内存的数据结构存储系统,可以用作: 数据库缓存消息中间件分布式锁 1.2 Redis特点 高性能:基于内存操作支持多种数据结构支持数据持久化支持主从复制支…...

每日c/c++题 备战蓝桥杯(求解三个数的最大公约数与最小公倍数)

求解三个数的最大公约数与最小公倍数(C/C实现) 引言 在数学计算和编程问题中,求多个数的**最大公约数(GCD)和最小公倍数(LCM)**是常见需求。本文将探讨如何高效求解三个数的GCD和LCM&#xff…...

解决Win11耳机没有声音的问题

方法一:更新驱动程序(有效) 进入 “设置”(快捷键:WinX),点击 “Windows 更新” → “高级选项” 点击 “可选更新” ,然后点击 “驱动程序更新” 【注】:更新后可能会出…...

滤波电容的正负极线宽需要一致吗?

今天看到一个项目的滤波电容的正端采用铺铜处理增大过流能力,但是负极却仅仅打了两个地过孔,不仅产生疑问,这样做是否合理,滤波电容的正负极线宽需要一致吗? 搜寻资料的时候看到这样一个类似的问题: 这些人…...

使用 `pandas` 库来读取 Excel 文件,并实现六种算法的遍历计算

以下是一个满足你需求的 Python 程序示例。在这个示例中,我们假设已经有了处理数据的函数,并且生成的 Excel 文件中包含了观测数据和推算数据。我们将使用 pandas 库来读取 Excel 文件,并实现六种算法的遍历计算。 import pandas as pd# 模拟…...

【Linux】文件描述符访问Open、Read、Write

每个运行的程序被称为进程(process),它有一些与之关联的文件描述符。我们可以通过这些文件描述符来访问打开的文件或者设备。 一、文件描述符 什么是文件描述符? 概念:文件描述符(File Descriptor&#x…...

在 VS2022 中修复 Linux CMake 项目构建失败:从 Ninja 迁移到 Makefile

问题背景​​ 在使用 ​​Visual Studio 2022​​ 开发跨平台 C 项目时,许多开发者会选择通过 ​​WSL (Windows Subsystem for Linux)​​ 直接在本地调试 Linux 环境下的程序。然而,近期在配置一个 CMake 项目时,遇到了以下报错&#xff1…...

ctf-show-mics2

下载文件用zip解压,将文件修改为flp文件 新建虚拟机,把文件添加到软盘 再次打开虚拟机会显示flag flag:flag{ctfshow}...

STM32_USB

概述 本文是使用HAL库的USB驱动 因为官方cubeMX生成的hal库做组合设备时过于繁琐 所以这里使用某大神的插件,可以集成在cubeMX里自动生成组合设备 有小bug会覆盖生成文件里自己写的内容,所以生成一次后注意保存 插件安装 下载地址 https://github.com/alambe94/I-CUBE-USBD-Com…...

Java 基础-32-枚举-枚举的应用场景

在Java编程中,枚举(Enum)提供了一种强大的方式来定义一组固定的常量。它们不仅限于简单的用途,还可以包含构造函数、方法和字段等高级功能,使其适用于多种不同的应用场景。本文将探讨几种常见的使用枚举的场景&#xf…...

新潮透明液体水珠水滴失真故障扭曲折射特效海报字体标题设计ps样机动作素材 Bubble Photoshop Templates

只需单击几下即可创建引人注目的视觉效果!您需要做的就是将您的文本或图像放入智能对象中并应用作。 包中包含: 15 个静态 Photoshop 模板(PS 2019 及更高版本) 01-05 垂直布局 (22504000)06-10 水平布局…...

学透Spring Boot — 017. 魔术师—Http消息转换器

本文是我的专栏《学透Spring Boot》的第17篇文章,了解更多请移步我的专栏: 学透 Spring Boot_postnull咖啡的博客-CSDN博客 目录 HTTP请求和响应 需求—新的Media Type 实现—新的Media Type 定义转换器 注册转换器 编写Controller 测试新的medi…...

stable diffusion 量化加速点

文章目录 一、导出为dynamic shape1)函数讲解(函数导出、输出检查)2)代码展示二、导出为static shape1)函数讲解(略)2)代码展示三、序列化为FP32测速1)测速2)代码四、序列化为FP16测速1)测速2)代码同上五、发现并解决解决CLIP FP16溢出,并测速1)如何找到溢出的算子…...

Xorg内存管理机制深度解析

Xorg内存管理机制深度解析 一、客户端资源生命周期管理 Xorg 采用 客户端绑定型资源管理 机制,所有资源(窗口、像素图、字体等)的生命周期与客户端连接状态强关联。 资源 ID 分配机制: • 每个资源由 32位标识符 表示,格式:0xBBCCDDEE ◦ BB:客户端 ID(ClientIndex)…...

第五期:深入理解 Spring Web MVC [特殊字符]( 前后端交互的综合性练习)

✨ 前言:从理解到实战,彻底掌握 Spring MVC 前后端交互 当我们学习了 Spring MVC 中的各种注解、参数绑定、请求方式、编码处理以及 Cookie/Session 操作之后,下一步就是 —— 动手实践! 理论再多,不如亲自敲一次代码…...

ansible可视化自动化平台-semaphore

1、简介 Semaphore UI 是一个开源的CI/CD工具,专注于简化和自动化软件交付流程,可轻松管理和运行 Ansible playbook,提供了一个直观的 Web 用户界面(UI),帮助DevOps团队轻松管理任务、部署和流水线。 官网…...

手撕LLM(二):从源码出发,探索LoRA加载、推理全流程

接上回接着说,前面我们通过分析源码,了解了大模型推理的详细流程,包括提示词从输入,到对话模版包装,到tokenID转换,到Embedding词向量转换;通过大模型推理,再将大模型输出进行最后一…...

数据库连接JDBC

概述 ✅概念 JDBC(JavaDataBaseConnectivityjava数据库连接)是⼀种⽤于执⾏SQL语句的JavaAPI,可以为多种关系型数据库提供 统⼀访问,它是由⼀组⽤Java语⾔编写的类和接⼝组成的。 本质 其实就是java官⽅提供的⼀套规范(接⼝)。⽤于帮助开发⼈员快速实现…...

VectorBT:使用PyTorch+Transformer训练和回测股票模型 进阶五

VectorBT:使用PyTorchTransformer训练和回测股票模型 进阶五 本方案基于PyTorch框架与Transformer模型,结合VectorBT回测引擎构建多股票量化交易系统,采用滑动窗口技术构建时序特征,通过自注意力机制捕捉市场规律预测收益率&#…...

DP Alt Mode​​ 与 ​​USB​​ 的关系

DP Alt Mode​​ 与 ​​USB​​ 的关系 1. 物理接口的统一:USB-C 是“万能插座” [USB-C接口物理结构] |-----------------------------------------------| | USB 3.0数据引脚 | DP Alt Mode视频引脚 | 电源引脚 | |-------------------------------------…...

C#“与AI的奇妙结合”

原文:C# 使用通义灵码 - AI 助力 Visual Studio 开发_w3cschool (注意:本文章中并不存在任何广告,也不存在任何盈利内容) C# 使用通义灵码 C# 作为一种功能强大且灵活多变的编程语言,被广泛应用于各个领…...

企业ITR流程设计与执行详细介绍【附全文阅读】

该方案聚焦企业 ITR 流程,适用于企业的服务管理人员、流程优化负责人、技术支持团队以及中高层管理者等。 ITR 流程的重要性:企业服务面临客户不满、管理者焦虑、服务人员无奈等挑战,缺乏完善的 ITR 流程会影响品牌形象、客户满意度和产品竞争力。ITR 流程能够保障客户满意,…...

Ubuntu 无密码热点(Soft AP)完整配置方案

适用于 Jetson、嵌入式 Linux、RDK 平台。目标:配置一个无密码热点(Soft AP),供手机等设备直接连接。实现开机自动启动热点,也支持后续一键切换回 WiFi 客户端模式。 平台:Yahboom RDK X3(Jetso…...

【力扣hot100题】(063)搜索二维矩阵

看到这题我就想到之前被我当作这题做的【力扣hot100题】(020)搜索二维矩阵Ⅱ 其实是完全不一样的两题,个人觉得这道题更简单也更考验基础,那道题思路更难想到但代码更好写。 两个二分查找结束,要注意的是第一个二分查…...

瑞萨RA4M2使用心得-KEIL5的第一次编译

目录 前言 环境: 开发板:RA-Eco-RA4M2-100PIN-V1.0 IDE:keil5.35 一、软件的下载 编辑瑞萨的芯片,除了keil5 外还需要一个软件:RASC 路径:Releases renesas/fsp (github.com) 向下找到: …...

玄机-apache日志分析

靶场任务 1、提交当天访问次数最多的IP,即黑客IP: 查看apache日志 apache访问日志的位置是:/var/log/apache2/access.log.1 匹配正则算法 首先先cat看看 发现地址都在第一行,直接匹配计算输出 cat access.log.1 |grep -Eo &…...

[C++]洛谷B2119 删除单词后缀

题目与解析 题干题目描述输入格式输出格式样例样例输入样例输出 答案解析食用提示AC代码AC代码详细解析头文件部分主程序8~12行代码 12行以后的代码 题干 题目描述 给定一个单词,如果该单词以 er、ly 或者 ing 后缀结尾,则删除该后缀(题目保…...

Ubuntu远程连接Mysql数据库(图文详解)

Ubuntu远程连接Mysql数据库 1、版本2、检查有没有Mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.3 查看Mysql运行状态 3、卸载Mysql4、安装4.1 更新4.2 开始安装4.3 安装完后查看状态 5、登录5.1、使用5.2、查看数据库权限5.3 更新权限5.4 再次查看数据库权限5.5 添加新用…...

回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测

回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测 目录 回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【JCR一区级】Matlab实现NRBO-Transformer-GRU多变量回归预测,牛顿-拉夫逊算法优…...