首页 > 数据库 >MySQL 事务的四大特性;ACID靠什么保证的?事务的隔离级别有哪些?MySQL 的默认隔离级别是什么?

MySQL 事务的四大特性;ACID靠什么保证的?事务的隔离级别有哪些?MySQL 的默认隔离级别是什么?

时间:2023-10-24 19:32:30浏览次数:37  
标签:事务 log Read MySQL 日志 级别 隔离

一、MySQL 事务的四大特性

原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。

一致性(Consistency):指在事务开始之前和事务结束以后,数据不会被破坏,假如 A 账户给B 账户转 10 块钱,不管成功与否,A 和 B 的总金额是不变的。

隔离性(Isolation):多个事务并发访问时,事务之间是相互隔离的,即一个事务不影响其它事务运行效果。简言之,就是事务之间是进水不犯河水的。

持久性(Durability):表示事务完成以后,该事务对数据库所作的操作更改,将持久地保存在数据库之中。

二、ACID靠什么保证的

事务的隔离性是通过数据库锁的机制实现的。

事务的一致性由undo log来保证:undo log是逻辑日志,记录了事务的insert、 update、deltete操作,回滚的时候做相反的delete、update、insert操作来恢复数据。

事务的原子性和持久性由redo log来保证:redolog被称作重做日志,是物理日志,事务提交的时候,必须先将事务的所有日志写入redo log持久化,到事务的提交操作才算完成。

MySQL 事务的四大特性;ACID靠什么保证的?事务的隔离级别有哪些?MySQL 的默认隔离级别是什么?_数据库

三、事务的隔离级别有哪些?

读未提交(Read Uncommitted)

读已提交(Read Committed)

可重复读(Repeatable Read)

串行化(Serializable)

四、MySQL 的默认隔离级别是什么?

MySQL默认的事务隔离级别是可重复读 (Repeatable Read)。

标签:事务,log,Read,MySQL,日志,级别,隔离
From: https://blog.51cto.com/u_16255459/8009425

相关文章

  • Docker系列---【mysql容器手动停止后,重启服务器,mysql容器被删掉了,如何恢复mysql数据?】
    mysql容器手动停止后,重启服务器,mysql容器被删掉了,如何恢复mysql数据?1.问题描述为了快速搭建数据库,我使用了docker搭建数据库,由于服务器资源紧张,我想先把mysql容器停掉,启动jenkins容器,使用完之后再停掉jenkins,启动mysql,结果由于服务器资源有限,服务器卡死了,无法远程连接了,没办法,我......
  • mysql 备份文件.xbstream 恢复
    数据库备份文件的恢复1.可通过xtrabackup工具恢复,官方下载地址:https://www.percona.com/downloads/XtraBackup/LATEST/选择对应版本安装注意:要选择和数据库版本对应的工具2.全量恢复#全备文件:full_backup.xbstream#恢复mysql数据文件目录:/rds/mysql#恢复全备xbstream......
  • docker上安装mysql
    docker上安装mysql1、拉取镜像dockerpullmysql:5.7.26 2、运行容器dockerrun--namemysql-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456-dmysql:5.7.262.1 查看mysql容器:dockerps|grepmysql2.2进入容器:dockerexec-itmysql/bin/bash ......
  • mysql磁盘选择
    物理服务器:塔式工作站机架式——放在机柜上   1U  2U     4.4厘米内存:ECC纠错内存(建议2-3倍cpu核心数量)主板:不关心硬盘:SATA-III、SATA、SAS、GT-BT、Fc、SSD(sata)、pci-essd(第二好)、Flash(性能最好,但是寿命短,价格贵)电源:双电源(型号一样,热插拔,断掉一路电......
  • 通过Docker搭建Debezium同步MySQL的数据变化
    Debezium是红帽开发的一款CDC产品,和阿里的Canel类似,都是同步binlog,不过强大了一点点。为了不再麻烦,下面称之为dbz。达拉崩吧斑得贝迪卜多比鲁翁...dbz的搭建依赖很多中间件:首先要有个MySQL库,dbz来读取数据库binlog(和数据库当前快照);读到后发给kafka,与kafka通信的叫connector;kaf......
  • 查看mysql的cpu及内存占用情况
    命令:psaux可查看服务器下所有进程的cpu和内存  查看单独某个进程的cpu和内存,需要加grep进行搜索,如下:命令:psaux|grepmysql可查看mysql的CPU和内存占用情况,如图cup占用0.6  内存占用14.3 ......
  • MYSQL
    忍者安全测试系统github.com/Audi-1/sqli-labs基础知识请求方式GET:利用数据包注入,且注入语句接在url后时,空格用+或者%20替代,这样才能转义为空格www.xxx.com/index.php?id=1很有可能等于www.xxx.com/?id=1,他们指向同一个文件。即www.xxx.com/?id=1也是可以注入的POST:www.......
  • php-pdo-mysql扩展
    #安装依赖包yuminstallm4yuminstallautoconf#进入对应版本的php安装包的ext/pdo_mysql目录,如下cd/usr/local/src/php-7.4.8/ext/pdo_mysql#在ext/pdo_mysql目录执行phpize/usr/local/php/bin/phpize#执行configure,其中:#--with-pdo-mysql为mysql的安装路径./config......
  • MySQL索引
    索引数据结构,典型的空间换时间          非聚集索引,辅助索引                  MySQL多表连接      ......
  • Windows Server设置SqlServer2012远程连接和Mysql8远程连接经验
     第一步,先设置阿里云,“网络与安全”》“安全组”》“管理规则”》“入方向”添加相应端口记录  SQLServer首先,我们在登录时,选择Windows身份验证,然后连接到服务器。 进入到登录主页面后,右击当前的对象资源管理器,选择属性,弹出如下图所示的页面,选择安全性,将服务器身份......