引言照例,我们先来一个场景~面试官:"知道事务的四大特性么?"你:"懂,ACID嘛,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)!"面试官:"你们是用mysql数据库吧,能简单说说innodb中怎么实现这四大特性的么?“你:"我只知道隔离性是怎么做的balabala~~"面试官:"还是回去等通知吧~"OK,回到正题。说            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-21 12:39:41
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、事务的概念事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。可以通过一个银行事例来解释事务的必要性。假设有以下场景:现在用户A想通过银行转账200元给用户B,那么至少需要三个步            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-21 00:09:05
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录一、事务是什么?二、事务的实现和事务的四大性质1.事务的实现2.事务的四大性质总结 一、事务是什么?事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。 在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。例如实用场景:微信转账事务就是二、事务的实现和性质1.事务的实现代码如下(示例):
我们先创建一个mysql数据表//比如说,四十大盗把从阿里巴巴的账            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-02 17:17:26
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            事务的四大特性如果一个数据库支持事务的操作,那么该数据库必须要具备以下四个特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)其中事务的隔离性是通过MySQL锁机制实现的。原子性,一致性,持久性则是通过MySQL的redo和undo日志记录来完成。事务启动的两种方式mysql> create table temp(id            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-28 18:58:33
                            
                                89阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、事务的执行流程 当我们对数据库执行增删改操作时,不可能直接更新磁盘上的数据,如果实际上针对的是内存里面的Buffer Pool中的数据进行的。Buffer Pool中数据会异步的刷新到磁盘上(刷脏)。如上图所示,事务执行流程步骤(更新操作):1. 查询数据若Buffer Pool存在,则输出,不存在则读取磁盘中的数据并放入Buffer Pool            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-07 23:51:18
                            
                                214阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、背景  前面有说到InnoDB是事务型引擎,那什么是事务?事务的特性是什么?它所对应的隔离级别是哪些?是怎么实现的?下面来详细讨论下。二、事务的理解  事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组语句。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 10:47:00
                            
                                185阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1.事务的概念2.事务的特性2.1.四大特性-原子性、一致性、隔离性、持久性2.2.持久性如何保证2.3.事务的常用语句2.4.事务的隐式提交2.5.事务的隔离级别3.并发事务可能遇到的问题3.1.读写冲突3.2.写写冲突3.1.如何解决事务并发造成的问题3.1.1.解决一致性的问题LBCC--解决写写冲突MVCC--解决读写冲突3.1.2.当前读和快照读的概念4.MVCC的实现原理4.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 12:50:51
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在上一章节,详细阐述了MySQL的事务的特性,以及存在的并发问题。并且,也详细阐述了MySQL内置的四种不同的隔离级别,分别都解决了对应的并发问题。那么,同学们有没有思考一个问题:MySQL是怎么实现的这些不同的隔离级别?例如,在可重复读的隔离级别下,B事务明明已经提交了事务,表示对数据的修改已经写入了磁盘(至少可以保证能够写入磁盘),但是A事务是通过什么方式仍然获取到的原来的数据呢? 要搞懂这些            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 12:32:35
                            
                                104阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Mysql的innodb存储引擎是通过事务来保证数据的一致性的数据库事务通常包含了一个序列的对数据库的读/写操作包含有以下两个目的为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使再异常状态下仍能保持一致性的方法当多个应用程序再并发访问数据库时,可以再这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰 特性:事务的特性有原子性,隔离性,持久性,一致性,其            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 21:04:51
                            
                                44阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的; 在这篇文章中,我们将对事务的实现进行分析,尝试理解数据库是如何实现事务的,当然我们也会在文章中简单对 MySQL 中对 ACID 的实现进行简            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-04-22 11:38:38
                            
                                205阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先明确几个概念:事务的四大特征,redo log,undo log,mysql锁技术(共享锁/排他锁),MVCC四大特性(ACID)1.原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。失败回滚的操作事务,将不能对事务有任何影响。2. 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-01-29 09:26:39
                            
                                226阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            首先明确几个概念:事务的四大特征,redo log,undo log,mysql锁技术(共享锁/排他锁),MVCC四大特性(ACID)1.原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。失败回滚的操作事务,将不能对事务有任何影响。2. 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-02-08 11:06:50
                            
                                146阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            事务: 有多个连续操作, 是一个整体: 要么所有的操作都成功, 要么所有的操作都失败.事务实现: 有两种方式手动实现: 用户自定义事务区间, 自己对事务进行整体把握, 自己对事务进行最终处理(通过SQL指令实现)自动实现: 用户不管事务处理, 直接执行SQL指令(操作), 系统自动帮助用户进行处理一、事务原理SQL指令的操作(写), 并不是直接写入到数据表: 先将操作的结果缓存起来, 到系统日志文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 22:47:24
                            
                                49阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Mysql事务的实现原理mysql5.7之后默认的数据引擎为 InnoDB,InnoDB支持行级锁,是Mysql数据库的最小操作。若想实现事务控制,数据库引擎必须为InnoDB!事务是什么?现实中的事务一般指我们要做的一件事,例如:去菜市场买菜;这样的‘一件事’可以拆分为:去菜市,找要买的菜,付钱等...
而在代码中可以理解为:查询商品,支付,生成订单。。。。。事务可以理解为由一个或多个事件组成的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 12:28:02
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL如何实现事务
## 什么是事务
在数据库中,事务是一组操作的集合,这些操作要么全部成功执行,要么全部失败回滚。事务可以确保数据库中的数据的一致性和完整性。
事务具有以下四个特性,通常称为ACID特性:
- **原子性(Atomicity)**:事务中的所有操作要么全部成功,要么全部失败回滚。如果事务中的任何操作失败,那么整个事务将回滚到初始状态,数据库不会被修改。
- **一            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-28 11:04:06
                            
                                24阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何在MySQL中实现事务
在MySQL中,事务是一种保证一组操作要么全部成功,要么全部失败的机制。通过使用事务,可以确保数据库中的数据始终处于一致的状态,避免数据不一致的情况发生。在本文中,将通过一个具体的问题来介绍如何在MySQL中实现事务。
## 问题描述
假设有一个银行系统,用户可以进行转账操作。转账过程中需要从一个账户扣除一定金额,并将该金额转入另一个账户。为了保证转账操作的原            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-24 06:32:59
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这 100 块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-09 10:06:34
                            
                                91阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文主要就自己的理解讲述MySQL是如何实现事务的隔离的事务众所周知,事务即一组行为,这一组行为处理了业务上的一个完整的逻辑链路。比如转账,检查A的余额,扣钱,更新B的余额,这三步要么一起成功要么都失败(回滚)。事务具有四大特性,ACID,原子性,一致性,隔离性,持久性。 1.原子性用回滚来保证,通过undo log记录了一个隐藏字段DATA_ROLL_PTR指向undo log中旧版本的数据来进            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-01 15:33:55
                            
                                139阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本篇文章的重点在于总结MYSQL事务。什么是事务事务简言之就是一组 SQL 执行要么全部成功,要么全部失败。MYSQL 的事务在存储引擎层实现。事务都有 ACID 特性:原子性(Atomicity):一个事务必须被视为一个不可分割的单元;一致性(Consistency):数据库总是从一种状态切换到另一种状态;隔离性(Isolation):通常来说,事务在提交前对于其他事务不可见;持久性(Durab            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 19:33:46
                            
                                19阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言事务是DBMS的执行单位。它由有限的数据库操作序列组成的。但不是任意的数据库操作序列都能成为事务。一般来说,事物必须满足4个条件(ACID)原子性(Autmic):事务在执行时,要做到“要么不做,要么全做“,就是说不允许事务部分的执行。即使因为故障而使事务不能完成,在rollback时也要消除对数据库的影响!一致性(Consistency):事务操作之后,数据库所处的状态和业务规则是一致的。比            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-27 01:11:02
                            
                                80阅读