
MySQL
文章平均质量分 79
麦格马戈登
这个作者很懒,什么都没留下…
展开
-
【MySQL】binlog
简介 binlog 是逻辑日志,记录内容是语句的原始逻辑,类似于“给 ID=2 这一行的 c 字段加 1”,属于MySQL Server 层。 不管用什么存储引擎,只要发生了表数据更新,都会产生 binlog 日志。 binlog的使用场景 MySQL数据库的数据备份、主备、主主、主从都离不开binlog,需要依靠binlog来同步数据,保证数据一致性。 记录格式 binlog 日志有三种格式,可以通过binlog_format参数指定。 ① Statement 记录的内..原创 2022-04-07 23:23:23 · 1022 阅读 · 0 评论 -
【MySQL】redo log
简介 redo log 它是物理日志,记录内容是“在某个数据页上做了什么修改”,属于 InnoDB 存储引擎。redo log(重做日志)是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。 比如 MySQL 实例挂了或宕机了,重启时,InnoDB存储引擎会使用redo log恢复数据,保证数据的持久性与完整性。 刷盘策略 InnoDB 存储引擎为 redo log 的刷盘策略提供了 innodb_flush_log_at_trx_commit 参数,它支持三种策略: ① 0 :设置为.原创 2022-04-07 23:07:57 · 1077 阅读 · 0 评论 -
【MySQL】多版本并发控制(MVCC)
概念 多版本控制(Multiversion Concurrency Control): 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行,这样大幅度提高了InnoDB的并发度。在内部实现中,InnoDB通过undo log保存每条数据的多个版本,并且能够找回数据历史版本提供给用户读,每个事务读到的数据版本可能是不一样的。在同一个事务中,用户只能看到该事务创建快照之前已经提交的修改和该事务本身做的修..原创 2022-04-07 22:24:57 · 872 阅读 · 0 评论