广告
返回顶部
首页 > 资讯 > 数据库 >mysql基础(六)mysql事务
  • 584
分享到

mysql基础(六)mysql事务

2024-04-02 19:04:59 584人浏览 薄情痞子
摘要

Mysql事务:是一个独立的工作单元 事务必须通过ACID测试:     原子性(Atomicity):一个事务的所有操作要么全部成功执行,要么全部失败后回滚 &n

Mysql事务:是一个独立的工作单元

事务必须通过ACID测试:
    原子性(Atomicity):一个事务的所有操作要么全部成功执行,要么全部失败后回滚
    一致性(Consistency):数据库总是从一个一致性状态转换成另一个状态
    隔离性(Isolation):一个事务在做出的操作在提交之前,其他事务是不可见的,隔离有多种级别
    持久性(Durability):一旦事务提交,其所做出的操作将永久保存在数据库中

事务的执行流程:
    启动事务-->执行sql语句-->提交事务-->保存数据
    启动事务-->执行SQL语句-->回滚-->数据不发生任何改变
    
    
    
事务的隔离级别:
    Read Uncommitted(读取未提交内容)
	出现问题:1、2、3		#不建议使用此隔离级别
    Read Committed(读提交)
	出现问题:2、3			#大多数数据库使用的隔离级别,性能较好
    Repeatable Read(不可重复读)	
        出现问题:3			#mysql默认使用的隔离级别
    Serializable(串行化)        #数据安全性最好,并发访问能力最弱,可能会出现死,
        出现问题:4		除非在数据要求比较严格的情况下,否则不建议使用
		 
出现问题:
    1、脏读:可以读取其他事务没有提交的数据
    2、不可重复读:在当前事务中没有做出任何修改,但使用select查看数据时可能查看到不同的数
    3、幻读:在当前事务提交之前只能看见启动事务时的数据和在当前事务中做出修改的数据,
             而其他事务所做出的修改将不能看见
    4、加锁读:如果在此事务中对表进行修改,那么数据库将给做出修改的表加上表锁,
               在此事务提交之前其他事务对此表做出的操作都会阻塞
    
mysql> SHOW VARIABLES LIKE '%iso%';		#查看当前的隔离级别
    SET tx_isolation='参数'			#修改隔离级别
	   对应参数(不区分大小写):
		Read-Uncommitted		#1
		Read-Committed			#2
		Repeatable-Read			#3(默认)
		Serializable			#4  
    
    mysql> SET GLOBAL autocommit=0;		#关闭自动提交事务
    mysql> START TRANSACTION		#启动事务
    mysql> COMMIT			#提交事务
    mysql> ROLLBACK			#回滚    
    
    
mysql事务日志:
    同事务日志和崩溃后安全恢复可以很好的保存数据安全
    
    事务日志包括:重做日志redo和回滚日志undo,事务日志通常比较小
   
    Redo记录的是已经全部完成的事务,就是执行了COMMIT的事务
	记录日志组是ib_logfile0、ib_logfile1	记录日志组可以更加需要调整文件数量

    Undo记录的是已部分完成并且写入硬盘的未完成的事务
    
    在mysq重启后,innodb通过事务日志将所有已完成并写入磁盘的和未完成的事务进行同步
    并将数据写入到磁盘中完成数据库崩溃后安全恢复
    
    mysql> SHOW VARIABLES LIKE 'innodb_log%';		#查看事务日志的相关配置
        innodb_log_file_size			#设置事务日志大小
	innodb_log_files_in_group 		#设置事务日志组文件数量
	innodb_log_group_home_dir  		#设置事务日志存放位置	


您可能感兴趣的文档:

--结束END--

本文标题: mysql基础(六)mysql事务

本文链接: https://www.lsjlt.com/news/41568.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql基础(六)mysql事务
    mysql事务:是一个独立的工作单元 事务必须通过ACID测试:     原子性(Atomicity):一个事务的所有操作要么全部成功执行,要么全部失败后回滚 &n...
    99+
    2022-10-18
  • MySQL中的事务基础
    文章目录 事务的ACID特性事务的隔离级别数据并发问题事务的隔离级别 事务的ACID特性 MySQL中的事务指的是在数据库操作中,将一组SQL语句作为一个不可分割的执行单元进行处理的机...
    99+
    2023-09-06
    mysql 数据库 事务 事务隔离级别 原力计划
  • MySQL基础(六)-索引(index)详解
    目录 一、什么是索引? 二、索引的实现原理 三、在MySQL中,主键、unique字段上会自动添加索引。 四、索引的创建与删除 创建索引: 删除索引: 五、查看SQL语句是否使用了索引 六、索引的失效 失效的第一种情况:模糊匹配当中以“%”...
    99+
    2023-09-01
    sql 数据库
  • MySQL基础——事务隔离级别
    事务是DBMS得执行单位。它由有限得数据库操作序列组成得。但不是任意得数据库操作序列都能成为事务。一般来说,事务是必须满足4个条件(ACID) ①:原子性(Autmic):事务在执行性,要做到“要...
    99+
    2022-10-18
  • mysql 基础 事件(定时任务)
    一、普通事件:直接执行语句: DROP EVENT IF EXISTS job_insertgood; DELIMITER $$ CREATE EVENT job_insertgood ON SCHEDU...
    99+
    2022-10-18
  • MySQL基础入门教程之事务
    目录引言1、事务操作1.1 未控制事务1.2 控制事务一1.3 控制事务二2、事务的四大特性3、并发事务问题4、事务隔离级别总结引言 事务是一组操作的集合,它是一个不可分割的工作单位...
    99+
    2022-11-13
  • 【MySQL基础教程】事务详细介绍
    前言 本文为 【MySQL基础教程】事务 相关知识,下边将对事务简介,事务操作(包括:未控制事务,控制事务),事务四大特性,并发事务问题,事务隔离级别等进行详尽介绍~ 📌博主主页:小...
    99+
    2023-09-04
    mysql java 数据库
  • MySQL基础
    1. 数据库 1.1 数据库概述 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 什么是数据库管理系统 数据库管理系统(Data...
    99+
    2019-04-23
    MySQL基础
  • MySQL 基础
    MySQL 基础 MySQL 基础 SQL 介绍 DDL(数据定义语言) 数据库操作 数据表操作 常用约束 约束操作 索引操作 DML(数据操作语言) SELECT - 从数据库表中获取数据 UPDATE -...
    99+
    2021-06-05
    MySQL 基础
  • MySQL基础
    MySQL概述 MySQL是关系型数据库,开源。 关系型数据库:ER模型图,关系型数据库存放的是各种实体间的关系。 以商城为例: 常见关系型数据库:MySQL、Oracle、SQLServer、DB2。 MySQL安装 官网找到MyS...
    99+
    2021-04-01
    MySQL基础 数据库入门 数据库基础教程 数据库 mysql
  • 一些关于MySQL事务的基础知识
    下面讲讲关于MySQL事务的基础知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL事务的基础知识这篇文章你一定会有所受益。 1、事务的基本语法<!--...
    99+
    2022-10-18
  • MySQL基础教程之事务异常情况
    目录测试异常情况控制事务一查看/设置事务提交方式提交事务回滚事务注意:控制事务二开启事务提交事务回滚事务转账案例:事务四大特性补充:mysql 事务并发处理的三种异常总结测试异常情况 -- 1. 查询张三余额 selec...
    99+
    2022-10-29
  • MySQL基础:基础查询
    DQL语言:数据查询语言 3.1 基础查询 语法 select 查询列表 from 表名; 特点 查询列表可以是字段、常量、表达式、函数,也可以是多个 查询结果是一个虚拟表 示例 1、查询单个字段 selec&#...
    99+
    2016-06-13
    MySQL基础:基础查询
  • Mysql基础(一)
    准备工作 开启服务器 ··windows系统:   方法1.搜索服务,找到mysql并开启.   方法2.如果安装的是5.7版本,cmd中输入: net start MySQL57 ··Mac系统:   系统偏好设置开启mys...
    99+
    2014-12-15
    Mysql基础(一)
  • 【MySQL】 MySQL数据库基础
    文章目录 🐱‍👓数据库的操作📌显示当前的数据库📌创建数据库🎈语法:🎈语法说明🎈示...
    99+
    2023-09-18
    数据库 mysql 基础操作 oracle
  • MySQL 面试题——MySQL 基础
    目录 1.什么是 MySQL?有什么优点?2.MySQL 中的 DDL 与 DML 是分别指什么?3.✨数据类型 varchar 与 char 有什么区别?4.数据类型 BLOB 与 TEXT...
    99+
    2023-09-20
    mysql 数据库 面试题
  • 【Mysql系列】Mysql基础篇
    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,...
    99+
    2023-12-23
    mysql 数据库
  • MySQL事务的基础学习以及心得分享
    这篇文章主要介绍了MySQL事务的基础学习以及心得分享,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。事务是逻辑上的一组操作,组成这组操作的各...
    99+
    2022-10-18
  • MySQL— 基础语法大全及操作演示!!!(事务)
    MySQL—— 基础语法大全及操作演示(事务) 六、事务6.1 事务简介6.2 事务操作6.2.1 未控制事务6.2.2 控制事务一6.2.3 控制事务二 6.3 事务四大特...
    99+
    2023-09-02
    mysql android 数据库
  • MySQL(六):基本的SELECT语句
    基本的SELECT语句 前言一、SELECT...二、SELECT ... FROM三、列的别名四、去除重复行五、空值参与运算六、着重号七、查询常数八、显示表结构九、过滤数据 前言 本博主将用CSDN记录软件...
    99+
    2023-08-19
    数据库 mysql sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作