MySQL——InnoDB事务
事务:全部成功 或 全部失败!
---------------------------------------------------------------------------------------------- 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事务的更多相关文章
- 搞懂MySQL InnoDB事务ACID实现原理
前言 说到数据库事务,想到的就是要么都做修改,要么都不做.或者是ACID的概念.其实事务的本质就是锁和并发和重做日志的结合体.那么,这一篇主要讲一下InnoDB中的事务到底是如何实现ACID的. 原子 ...
- Mysql InnoDB事务
http://www.cnblogs.com/benshan/archive/2013/01/19/2867244.html 事务的四个特性 1.原子性(atomicity)原子性是指整个数据库事务是 ...
- MySql - InnoDB - 事务 , Php版
(出处:http://www.cnblogs.com/linguanh/) 1,前序 由于要重构APP(社交类) 服务端接口的部分代码,故接触到了 innoDB,以及事务这个词,下面主要是以例子的形式 ...
- MySQL InnoDB 事务实现过程相关内容的概述
MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性:undo是保证事务的一致性(一致性读和多版本并发控制):purge清理undo表空间背景知识,对于Inn ...
- 一文快速搞懂MySQL InnoDB事务ACID实现原理(转)
这一篇主要讲一下 InnoDB 中的事务到底是如何实现 ACID 的: 原子性(atomicity) 一致性(consistency) 隔离性(isolation) 持久性(durability) 隔 ...
- mysql innodb事务的ACID及其实现的保证机制
MySQL事务的ACID,一致性是最终目的.保证一致性的措施有:A原子性:靠undo log来保证(异常或执行失败后进行回滚).D持久性:靠redo log来保证(保证当MySQL宕机或停电后,可以通 ...
- MySQL InnoDB四个事务级别 与 脏读、不反复读、幻读
MySQL InnoDB事务隔离级别脏读.可反复读.幻读 希望通过本文.能够加深读者对ySQL InnoDB的四个事务隔离级别.以及脏读.不反复读.幻读的理解. MySQL InnoDB事务的隔离级别 ...
- MySQL InnoDB MVCC
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...
- MySQL InnoDB 实现高并发原理
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...
随机推荐
- SpringMVC中文乱码踩坑
问题 使用SpringMVC在返回一个字符串时发生了中文乱码问题.produces属性无效 @RequestMapping(value = "/nihao", produces = ...
- 用好WinSCP,无惧Linux命令
很多人惧怕Linux系统的命令操作模式.实际上对于普通用户来说用到命令的概率非常小. 我们在实践过程中发现管理Linux系统,最多使用如下两个工具: WinSCP(必用):可视化界面工具,实现文件管理 ...
- 三层交换机和VLAN
目录 一.VLAN的概述及优势 二.VLAN的种类 三.静态VLAN的配置 四.Trunk介绍与配置 五.三层交换机转发原理 一.VLAN的概述及优势 分割广播域 物理分割 逻辑分割 VLAN的优势: ...
- Python实现猜数字游戏
Python中实现猜数字游戏代码如下: import random # 引入随机数标准库-random # 定义数字上下限和最大游戏次数 min_num = 1 max_num = 10 guess_ ...
- XCTF-Web进阶-upload1
显然是让我们上传文件,思路当然是上传一个木马文件,然后通过蚁剑连接查看目录获取flag. 但是当我们想要上传php文件的时候会出现弹窗,并且连"上传"按钮都被禁用了. ext = ...
- 985硕艰难转行Android之路 加面经分享
个人情况介绍 本人为某末流985工科硕士,说来令人感慨,我的考研之路异常曲折,每次都觉得自己能十拿九稳,结果每次都阴差阳错,失之交臂,第一次因为那年目标院校大幅度提升初试线,导致差一分未过线,第二次换 ...
- 单机版搭建kubernetes(K8s)
准备 云原生的概念越来越火,忍不住去看了看kubernetes,初次接触,晕晕乎乎的,于是不管三七二十一,先搭建个单机版的再说(没钱买服务器,目前也懒得装虚拟机),跑起来也算是第一步吧.网上教程一顿搜 ...
- MySQL基本类型、操作
MySQL 前言(一些废话,可以不看) 为什么学习数据库呢,大家都知道,为了学习删库跑路,因为数据库在工作中起着至关重要的作用,只会写代码的是码农:学好数据库,基本能混口饭吃:在此基础上再学好操作系统 ...
- 【动画消消乐|CSS】086.炫酷水波浪Loading过渡动画
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- WPF listbox 实现动态滚轮下拉定位
private ObservableCollection<keymodel> _listlua; public ObservableCollection<keymodel> l ...