事务:全部成功 或 全部失败!
---------------------------------------------------------------------------------------------- 1、原子性:全部成功或全部取消。 2、一致性:如果数据库在事务开始时处于一致状态,则在执行该事物期间将保留一致状态。 3、隔离性:事物之间不相互影响。 4、持久性:事务成功完成后,所做的所有改变将准确地记录在数据库中,所做的更改不会丢失。 ---------------------------------------------------------------------------------------------- 5、事务SQL控制语句:
----MySQL5.5之后默认自动提交模式,不需要begin或start transaction语句,默认开启autocommit模式。 ----可以通过以下命令修改关闭(0是关闭,1是开启): (1)临时生效:
SET GLOBAL AUTOCOMMIT=0; ---- 所有新建会话
SET SESSION AUTOCOMMIT=0; ---- 当前会话
SELECT @@AUTOCOMMIT; ---- 查看设置结果 (2)永久生效:
vim /etc/my.cnf [mysqld]
AUTOCOMMIT=0 ----标记:
事务开始:begin / start transaction
MySQL5.5之后,自动开启“开始”,不需要手工录入 事务结束:commit 事务撤销(回滚):rollback 6、导致事务提交的非SQL事务控制语句(隐式提交):
DDL: alter / create / drop ... DCL: grant / revoke / set password ... 锁定语句: lock tables / unlock tables ... 7、事务日志redo
redo: 重做日志,事务日志的一种。
(1)记录内存页的变化。
(2)是为了提高数据持久化的一种特性。 (4)redo工作原理:
MySQL在对数据进行修改的时候,是在内存中进行的,提交后才会写到磁盘中,
同时在修改数据的过程中,redo会在数据修改的过程中,对更改信息定时写到磁盘
中,但是如果事务执行失败,redo会重做日志,将磁盘更改信息恢复到修改之前。 8、事务日志undo
undo:回滚日志,事务日志的一种。 (1)undo工作原理:
MySQL在对数据进行修改的时候,是在内存中进行的,提交后才会写到磁盘中,
在开始修改之前undo会对当前的状态进行“拍照”,同时undo会在数据修改
的过程中,对更改信息定时写到磁盘中,但是如果事务执行失败,undo会用
之前的“照片”覆盖更改信息,将磁盘更改信息恢复到修改之前。 9、LSN(redo/undo中)
LSN:日志版本号、或叫日志序列号 10、事务中的锁(锁定)(性能高于MyISAM)(高并发锁:行级锁---->可以只锁一行)
四种隔离级别:
----READ UNCOMMITTED
允许事务查看其它事务所进行的未提交更改 ----READ COMMITTED
允许事务查看其它事务所进行的已提交更改 ----REPEATABLE READ***
确保每个事务的 SELECT 输出一致
InnoDB的默认级别 ----SERIALIZABLE
将一个事务的结果与其它事务完全隔离

  

MySQL——InnoDB事务的更多相关文章

  1. 搞懂MySQL InnoDB事务ACID实现原理

    前言 说到数据库事务,想到的就是要么都做修改,要么都不做.或者是ACID的概念.其实事务的本质就是锁和并发和重做日志的结合体.那么,这一篇主要讲一下InnoDB中的事务到底是如何实现ACID的. 原子 ...

  2. Mysql InnoDB事务

    http://www.cnblogs.com/benshan/archive/2013/01/19/2867244.html 事务的四个特性 1.原子性(atomicity)原子性是指整个数据库事务是 ...

  3. MySql - InnoDB - 事务 , Php版

    (出处:http://www.cnblogs.com/linguanh/) 1,前序 由于要重构APP(社交类) 服务端接口的部分代码,故接触到了 innoDB,以及事务这个词,下面主要是以例子的形式 ...

  4. MySQL InnoDB 事务实现过程相关内容的概述

    MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性:undo是保证事务的一致性(一致性读和多版本并发控制):purge清理undo表空间背景知识,对于Inn ...

  5. 一文快速搞懂MySQL InnoDB事务ACID实现原理(转)

    这一篇主要讲一下 InnoDB 中的事务到底是如何实现 ACID 的: 原子性(atomicity) 一致性(consistency) 隔离性(isolation) 持久性(durability) 隔 ...

  6. mysql innodb事务的ACID及其实现的保证机制

    MySQL事务的ACID,一致性是最终目的.保证一致性的措施有:A原子性:靠undo log来保证(异常或执行失败后进行回滚).D持久性:靠redo log来保证(保证当MySQL宕机或停电后,可以通 ...

  7. MySQL InnoDB四个事务级别 与 脏读、不反复读、幻读

    MySQL InnoDB事务隔离级别脏读.可反复读.幻读 希望通过本文.能够加深读者对ySQL InnoDB的四个事务隔离级别.以及脏读.不反复读.幻读的理解. MySQL InnoDB事务的隔离级别 ...

  8. MySQL InnoDB MVCC

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  9. MySQL InnoDB 实现高并发原理

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

随机推荐

  1. SpringMVC中文乱码踩坑

    问题 使用SpringMVC在返回一个字符串时发生了中文乱码问题.produces属性无效 @RequestMapping(value = "/nihao", produces = ...

  2. 用好WinSCP,无惧Linux命令

    很多人惧怕Linux系统的命令操作模式.实际上对于普通用户来说用到命令的概率非常小. 我们在实践过程中发现管理Linux系统,最多使用如下两个工具: WinSCP(必用):可视化界面工具,实现文件管理 ...

  3. 三层交换机和VLAN

    目录 一.VLAN的概述及优势 二.VLAN的种类 三.静态VLAN的配置 四.Trunk介绍与配置 五.三层交换机转发原理 一.VLAN的概述及优势 分割广播域 物理分割 逻辑分割 VLAN的优势: ...

  4. Python实现猜数字游戏

    Python中实现猜数字游戏代码如下: import random # 引入随机数标准库-random # 定义数字上下限和最大游戏次数 min_num = 1 max_num = 10 guess_ ...

  5. XCTF-Web进阶-upload1

    显然是让我们上传文件,思路当然是上传一个木马文件,然后通过蚁剑连接查看目录获取flag. 但是当我们想要上传php文件的时候会出现弹窗,并且连"上传"按钮都被禁用了. ext = ...

  6. 985硕艰难转行Android之路 加面经分享

    个人情况介绍 本人为某末流985工科硕士,说来令人感慨,我的考研之路异常曲折,每次都觉得自己能十拿九稳,结果每次都阴差阳错,失之交臂,第一次因为那年目标院校大幅度提升初试线,导致差一分未过线,第二次换 ...

  7. 单机版搭建kubernetes(K8s)

    准备 云原生的概念越来越火,忍不住去看了看kubernetes,初次接触,晕晕乎乎的,于是不管三七二十一,先搭建个单机版的再说(没钱买服务器,目前也懒得装虚拟机),跑起来也算是第一步吧.网上教程一顿搜 ...

  8. MySQL基本类型、操作

    MySQL 前言(一些废话,可以不看) 为什么学习数据库呢,大家都知道,为了学习删库跑路,因为数据库在工作中起着至关重要的作用,只会写代码的是码农:学好数据库,基本能混口饭吃:在此基础上再学好操作系统 ...

  9. 【动画消消乐|CSS】086.炫酷水波浪Loading过渡动画

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  10. WPF listbox 实现动态滚轮下拉定位

    private ObservableCollection<keymodel> _listlua; public ObservableCollection<keymodel> l ...