Mysql的事务实现原理「收藏」
Mysql的事务实现原理「收藏」1 开篇
相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:
事务想要做到...
文章
天啊我的钱
2020-08-07
145浏览量
MySQL工具推荐 | 基于MySQL binlog的flashback工具
1、前言
相信您应该遇到过因为误操作破坏数据库的问题,比如忘了带WHERE条件的UPDATE、DELETE操作,然后就需要进行传统方式的全量 & 增量恢复。现在,给您介绍一下MySQL中的flashback玩法,也可以做到像Oracle的flashback那样。
目前MySQL的 flas...
文章
晚来风急
2017-08-01
3802浏览量
MySQL数据库分布式事务XA实现原理分析
MySQL XA分为两类,内部XA与外部XA;内部XA用于同一实例下跨多个引擎的事务,由大家熟悉的Binlog作为协调者;外部XA用于跨多MySQL实例的分布式事务,需要应用层介入作为协调者(崩溃时的悬挂事务,全局提交还是回滚,需要由应用层决定,对应用层的实现要求较高);
本文,假设读者已经知...
文章
余二五
2017-11-16
1749浏览量
关于MySQL的commit非规律性失败案例的深入分析
案例描述:
一个普通的事务提交,在应用里面会提示commit超时,失败。
一、理论知识
1、关于commit原理,事务提交过程
1、寻找修改的数据页:
1、如果该数据页在内存中,则直接是内存读;
2、如果该数据页内存中没有,物理读,就从磁盘调入内存;
2、磁盘中的u...
文章
技术小阿哥
2017-11-28
1011浏览量
关于MySQL的commit非规律性失败案例的深入分析
案例描述:
一个普通的事务提交,在应用里面会提示commit超时,失败。
一、理论知识
1、关于commit原理,事务提交过程
1、寻找修改的数据页:
1、如果该数据页在内存中,则直接是内存读;
2、如果该数据页内存中没有,物理读,就从磁盘调入内存;
2、磁盘中的u...
文章
科技探索者
2017-11-08
939浏览量
MySQL redo log
官方参考资料
redo log概述https://dev.mysql.com/doc/refman/5.7/en/innodb-redo-log.htmlredo log配置参数说明https://dev.mysql.com/doc/refman/5.7/en/innodb-init-startu...
文章
songbill
2019-02-05
1359浏览量
为了让你彻底弄懂 MySQL 事务日志,我通宵赶出了这份图解!
原文链接
还记得刚上研究生的时候,导师常挂在嘴边的一句话,“科研的基础不过就是数据而已。”如今看来,无论是人文社科,还是自然科学,或许都可在一定程度上看作是数据的科学。倘若剥开研究领域的外衣,将人的操作抽象出来,那么科研的过程大概就是根据数据流动探索其中的未知信息吧。当然科学研究的范畴涵盖甚广,也...
文章
迪科斯彻
2020-06-08
2431浏览量
使用xtrabackup对Mysql备份恢复
备份原理:XtraBackup基于InnoDB的crash-recovery功能。它会复制innodb的data file,由于不锁表,复制出来的数据是不一致的,在恢复的时候使用crash-recovery,使得数据恢复一致。InnoDB维护了一个redo log,又称为transaction
...
文章
白海生
2017-10-17
1398浏览量
mysql之 Innobackupex全备恢复(原理、演示)
一、 Innobackupex恢复原理
After creating a backup, the data is not ready to be restored. There might be uncommitted transactions to be undone or trans...
文章
技术小美
2017-11-12
791浏览量
彻底搞懂 MySQL 事务的隔离级别
事前准备数据
mysql> create table city(
-> id int(10) auto_increment,
-> name varchar(30),
-> primary key (id)
-> )engine=inn...
文章
张德Talk
2020-02-05
8641浏览量
msyql 日志篇(二)日志的常用配置和原理
日志详解之:常规日志; 慢查询日志;二进制日志;中继日志
出错日志(error log):(log_error)这个日志记载着服务器启动和关闭的情况,还记载着关于故障或异常状况的消息。
我们安装完数据库之后,启动数据库如果发生异常,我们应该首先查这个日志文件。
常规查询日志:(log)该日志包括...
文章
dragonwang
2015-10-17
1284浏览量
mysql主从复制跳过复制错误
跳过复制错误
mysql因为binlog机制问题,有些时候会出现从库重放sql执行失败的情况,特别是旧的STATEMENT模式最容易出现这种情况(因为函数和存储过程等原因),这也是为什么强调使用mixed和row模式的原因。另外就是一些外部XA事务,因为XA事务日志不在mysql中,有时候会出现回...
文章
技术小胖子
2017-11-08
725浏览量
MySQL中的redolog,undolog,以及binlog的区别及各自作用是什么?
MySQL中有六种日志文件,
分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。
其中重做日志和回滚日志与...
文章
程序员白楠楠
2021-01-06
57浏览量
MySQL灵魂100问,你能答出多少?
前言
本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水.
前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来.
因此决...
文章
java填坑路
2019-09-11
963浏览量
SpringCloud 解决分布式事务的两种方式 | 带你读《Spring Cloud Alibaba(2019)》之十九
上一篇:什么是分布式事务? | 带你读《Spring Cloud Alibaba(2019)》之十八
本文来自于《精通Spring Cloud Alibaba》课程的整理,讲师为余胜军,点击查看视频内容。本文系志愿者整理,供配合学习中心课程使用,不做商业用途。
LCN官网基本介绍
http://w...
文章
KB小秘书
2020-05-22
2093浏览量
MySQL的未来在哪?
阿里云 MySQL&MariaDB 数据库产品结合开源社区,提供了稳定、可靠、便捷、弹性的在线数据库服务,帮助全球企业客户进行数字化转型。MySQL发展经历了一系列变化,从Sun到Oracle,发展也经过了几个阶段。MySQL从5.7版本开始走上了代码重构之路,这为MySQL未来10年的发...
文章
桐碧2018
2018-10-26
2115浏览量
SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可回滚)
通常一次应用的线上发布就表示了一次新功能的上线。在上线过程中,可能发生一些非预期的情况,如新版本软件有bug,或者功能不达预期,就会影响了线上客户的使用。 为了尽快减少对线上用户的影响,发布系统需要提供回滚到前一个或前几个版本的能力。达到快速恢复线上业务的目的。
从应用的部署变更层次来看,可以分为...
文章
中间件小哥
2020-07-31
919浏览量
MySQL与 PostgreSQL 数据库功能对比
概述
在几个流行的数据库中,我首先接触到的是MySQL,随着工作发展,接触到越来越多的是PostgreSQL数据库。这两个十分流行的开源数据库。在这之后,我就会经常和一些朋友进行讨论:MySQL和PostgreSQL两者之间到底有什么异同点呢?翻阅资料,今天就来学习一下
ACID的遵从性(ACID...
文章
云平_Stephen
2019-07-04
10872浏览量
MySQL · 引擎特性 · Group Replication内核解析之二
背景
前文已经介绍了MySQL的Group Replication的实现机制和原理,本文就Group Replication的具体实现进行详细的阐述,以更深入的理解Group Replication的机制,在实践中更好的应用Group Replication,提升应用系统的可用性,优化其性能。
...
文章
db匠
2018-01-24
1242浏览量
SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可回滚)
作者 | 长门
导读:本篇是《SpringCloud 应用在 Kubernetes 上的最佳实践》系列文章的第七篇,主要介绍了新功能上线时,如何尽快减少对线上用户的影响?发布系统需要提供回滚到前一个或前几个版本的能力,达到快速恢复线上业务的目的。
相关文章推荐:
《SpringCloud 应用在...
文章
阿里巴巴云原生小助手
2020-09-14
361浏览量
CanalSharp-mysql数据库binlog的增量订阅&消费组件Canal的.NET客户端
一.前言
CanalSharp是阿里巴巴开源项目mysql数据库binlog的增量订阅&消费组件 Canal 的.NET客户端,关于什么是 Canal?又能做什么?我会在后文为大家一一介绍。CanalSharp 这个项目,是由我和 WithLin (主要贡献) 完成,并将一直进行维护的Ca...
文章
晓晨Master
2018-09-26
2130浏览量
“移山”法宝~阿里数据库迁移项目yugong(愚公)开源啦!【内有详解】
项目简介
yugong(意译:愚公)项目是阿里的开源项目,该项目使用纯Java开发,主要作用是进行数据库迁移,目前该项目主要支持从oracle数据库向Mysql和DRDS数据库进行迁移。
项目背景
08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,C...
文章
阿里云头条
2016-03-11
15942浏览量
MySQL增量备份与恢复实例
小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份。增量备份的原理就是使用了mysql的binlog日志。
本次操作的MySQL版本为5.5.40 for Linux (x86_64)。
增量备份要确保打开了二进制...
文章
seanlook
2016-05-18
3589浏览量
InnoDB并发如此高,原因竟然在这?
《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,干脆全盘系统性的写写InnoDB的并发控制,锁,事务模型好了。
体系相对宏大,一篇肯定写不完,容我娓娓道来,通俗地说清楚来龙去脉。
一、并...
文章
初商
2019-08-09
431浏览量
隔离级别的实现原理
排他锁(Exclusive Lock)
排他锁(Exclusive Lock) , 简称X锁。
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
规则1:写一个数据之前加...
文章
jephon
2018-04-01
1201浏览量
云数据库RDS中的MySQL数据库备份
背景
RDS使用mysqldump对 MySQL 数据库进行逻辑全量备份,使用开源软件Xtrabackup进行物理全量备份,是实例级别的备份。本文主要从原理的角度来介绍MySQL数据库的备份和恢复,让用户更加了解RDS的备份恢复机制。
一、使用Mysqldump进行逻辑备份
mysqldump作...
文章
sunlovesi
2016-07-24
3464浏览量
MySQL · 引擎特性 · InnoDB 事务子系统介绍
前言
在前面几期关于InnoDB Redo和Undo实现的铺垫后,本节我们从上层的角度来阐述InnoDB的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块,如何实现MVCC及ACID,如何进行事务的并发控制,事务系统如何进行管理等相关知识。本文的目的是让读者对事务系统有一个较全面...
文章
zhaiwx_yinfeng
2015-12-21
4113浏览量
MySQL · 引擎特性 · InnoDB 事务子系统介绍
前言
在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoDB 的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块、如何实现MVCC及ACID、如何进行事务的并发控制、事务系统如何进行管理等相关知识。本文的目的是让读者对事务系统...
文章
db匠
2016-05-23
2153浏览量
MySQL死锁系列-线上死锁问题排查思路
前言
MySQL 死锁异常是我们经常会遇到的线上异常类别,一旦线上业务日间复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常。这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,并且分析解决时还需要了解 MySQL 锁冲突相关知识,所以一般遇到这些偶尔出现的死锁异常,往往一时没有头...
文章
程序员历小冰
2020-10-19
1034浏览量
顺丰删库跑路事件后,你必须掌握的 8 大对策!
这两天吵得沸沸扬扬的顺丰删库事件《顺丰高级工程师误删数据库,删库到被跑路。。》,很多人问有什么对策,肯定有!!
1. 只不过是把数据干掉了
权限问题永远是大问题,做好权限回收,开发数据库和线上数据库分离,线上数据库管理权限(一般指修改表结构权限与删表权限)禁止回收,也不提供给业务直接用。
不然...
文章
技术小能手
2018-09-21
3453浏览量