事务:全部成功 或 全部失败!
---------------------------------------------------------------------------------------------- 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. HTTP_CLIENT_IP、HTTP_X_FORWARDED_FOR、REMOTE_ADDR

    REMOTE_ADDR 是你的客户端跟你的服务器"握手"时候的IP.如果使用了"匿名代理",REMOTE_ADDR将显示代理服务器的IP. HTTP_CLIEN ...

  2. phpcms开发使用

    二次开发入口文件: 1.dirname(__FILE___) 函数返回的是脚本所在在的路径 2.__FILE__ 当前运行文件的完整路径和文件名.如果用在被包含文件中,则返回被包含的文件名. 3.DI ...

  3. Thinkphp 分页应用

    $Table = M('Table'); $count = $Table ->where()->count();        $Page = new \Think\Page($count ...

  4. GoldenEye-v1靶机

    仅供个人娱乐 靶机信息 下载地址:https://pan.baidu.com/s/1dzs_qx-YwYHk-vanbUeIxQ 一.主机扫描 二.信息收集 三.漏洞的查找和利用 boris    I ...

  5. SVG和Canvas的区别?

    什么是SVG? SVG(可缩放矢量图形)编辑可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 什么是 Canvas ...

  6. 七夕特别篇|用Python绘画牛郎织女在鹊桥相见

    大家好,我是辰哥~ 今天就是七夕节,首先提前祝福有伴侣的小伙伴,七夕快乐,没有伴侣的小伙伴,今天就会找到伴侣,(给看到这句话的你好运加持,哈哈哈). 作为会Python的我们必须做点好玩且有意义的东西 ...

  7. 『Java』Collection接口 Collections类

    接口Collection public interface Collection<E>定义了所有单列集合中共性的方法,所有的单列集合都可以使用共性方法. Collection的常用子接口有 ...

  8. 【Java】jeesite使用学习

    初始配置环境及软件: 名称 版本 作用 Tomcat 7.0 微小型服务器,版本无所谓,装个Tomcat 9估计也没事 IntelliJ IDEA 2021.1.3 x64 2021.1.3 编译器, ...

  9. 【笔记】求数据的对应主成分PCA(第一主成分)

    求数据的第一主成分 (在notebook中) 将包加载好,再创建出一个虚拟的测试用例,生成的X有两个特征,特征一为0到100之间随机分布,共一百个样本,对于特征二,其和特征一有一个基本的线性关系(为什 ...

  10. 提取网页的markdown表格利器

    在线Markdown表格转换器 markdown表格转换器,蛮好用的.偶然发现的开源工具,推荐一波. 这是目标链接:https://docs.locust.io/en/stable/configura ...