1 针对未提交事务的刷盘策略 No Steal和Steal No Steal:未提交的事务数据页不可以写入磁盘 Steal:未提交的事务数据页可以写入磁盘 2 针对提交事务的刷盘策略 No Force和Force No Force:提交的事务数据页必须写入磁盘 Force:提交的事务数据页也可以不写 ...
分类:
数据库 时间:
2020-05-15 00:31:54
阅读次数:
274
数据丢失的定义:当事务提交了,数据因为特殊原因不存在了。MySQL默认情况下是开启内部的XA事务和事务的实现方式是基于redolog和undolog。也可以理解为MySQL事务是采用日志现行的策略。前提未开启binlog的情况下,数据的变更首先在内存中完成,并且将事务顺序的写入到redolog中,即表示该事务已经完成,就可以返回发给客户端已提交的信息。但此时变更后的数据还在内存中,并没有刷新写入到
分类:
数据库 时间:
2020-04-15 12:23:49
阅读次数:
142
MySQL架构 逻辑架构图 MySQL执行流程图 MySQL主要分为Server层和存储引擎层 Service层: 连接器:主要负责用户登录数据库,进行用户的身份认证,包括校验账户密码,权限等操作 查询缓存:建立连接,执行查询语句,会先查询缓存,Mysql会先校验这个sql是否执行过,以 的键值的形 ...
分类:
数据库 时间:
2019-12-27 20:23:46
阅读次数:
86
首先,从体系结构上来讲: binlog由数据库上层(server 层)生成,是SQL执行的逻辑日志。redo log是存储引擎(innodb事务引擎)层面的物理格式的日志,记录的是对于每个页的修改。 作用上的区分: binlog用来进行数据恢复(基于时间点的) 和 主从复制。 redolog用来保证 ...
分类:
数据库 时间:
2019-06-05 17:58:52
阅读次数:
200
先抛出几个问题 1.为什么不建议使用订单号作为主键? 2.为什么要在需要排序的字段上加索引? 3.for update 的记录不存在会导致锁住全表? 4.redolog 和 binlog 有什么区别? 5.MySQL 如何回滚一条 sql ? 6.char(50) 和 varchar(50) 效果是 ...
分类:
数据库 时间:
2019-05-16 11:12:41
阅读次数:
137
一,实验前的准备 数据库全备 查看日志组的状态 ...
分类:
数据库 时间:
2019-02-27 17:55:35
阅读次数:
184
1、什么是OMF? Oracle managed file的缩写,简单的理解,就是oracle自己管理自己的文件,可以是dbf,redolog 等等,具体可以参考官方文档Adiministrator中的17.Using Oracle Managed Files 2、如何查看当前系统是否使用了OMF? ...
分类:
数据库 时间:
2019-01-21 16:02:05
阅读次数:
156
MySQL binlog相关分析 1、redolog、binlog的简单分析 图解:redolog和binlog机制 2、开启binlog及关注点 3、关注binlog的相关参数 4、binlog模式分析 5、关于binlog的使用 补充:双一模式 一、区别redolog和binlog 1、如下表格 ...
分类:
数据库 时间:
2018-12-26 15:45:02
阅读次数:
235
一:日志相关问题. 这里的commit 步骤在事务提交之后执行的。 在A 阶段数据库奔溃重启后,binlog没有写入,那么从库没有数据。主库也会回滚。 在B阶段数据库奔溃重启后,redolog会拿着xid去binlog中去找,如果找到就提交。就可以崩溃恢复 (1)mysql如何知道binlog的完整 ...
分类:
其他好文 时间:
2018-12-17 14:20:54
阅读次数:
212
事务:一组原子性的SQL查询,或者说一个独立工作单元。事务日志:在Oracle当中,被分解为redolog、undolog,及所谓重做日志和撤销日志ACID测试:A:atomicity,原子性;整个事务中的所有操作要么全部成功执行,要么全部失败后回滚;C:conststency,一致性;数据库总是从一个一致性状态转换为另一个一致性状态;I:Isolation,隔离性;一个事务所做出的操作在提交之前
分类:
数据库 时间:
2018-10-13 10:25:36
阅读次数:
204