当前位置: 首页 > news >正文

迪士尼网站是谁做的运营商大数据精准营销获客

迪士尼网站是谁做的,运营商大数据精准营销获客,南庄网站建设,帮企商城源码Binlog (二进制日志) bin Log 作用 用于记录所有修改数据库数据的 SQL 语句或行级别的变化,主要用于主从复制和数据恢复。 binlog格式 STATEMENT模式:binlog里面记录的就是SQL语句的原文。优点是并不需要记录每一行的数据变化,减少了binlo…

Binlog (二进制日志)

bin Log 作用

用于记录所有修改数据库数据的 SQL 语句或行级别的变化,主要用于主从复制和数据恢复。

binlog格式

  • STATEMENT模式:binlog里面记录的就是SQL语句的原文。优点是并不需要记录每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致

  • ROW模式:不记录每条SQL语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了,解决了STATEMENT模式下出现master-slave中的数据不一致。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨

  • MIXED模式:以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式

示例 1:使用不确定函数
某些情况下,使用不确定函数(如 UUID()、NOW() 等)会导致 STATEMENT 模式无法复制,因为每次执行时返回的结果可能不同。此时,ROW 模式可以准确记录每行数据的变化。

INSERT INTO my_table (id, value) VALUES (UUID(), NOW());

在 STATEMENT 模式下,这条语句可能在主库和从库中插入不同的 UUID 和 NOW 值。而在 ROW 模式下,每行数据的具体值会被记录并复制到从库。

示例 2:复杂事务
复杂事务中可能包含多个步骤,每一步骤都会影响数据的一致性。在这种情况下,使用 ROW 模式可以确保每个步骤的结果都被准确记录和复制。

BEGIN;
UPDATE my_table SET value = value + 1 WHERE id = 1;
DELETE FROM my_table WHERE id = 2;
INSERT INTO my_table (id, value) VALUES (3, 'test');
COMMIT;

在 STATEMENT 模式下,每个语句会被记录并在从库执行,但如果有依赖顺序或其他条件的语句,可能导致复制不一致。而在 ROW 模式下,每行数据的变化都会被准确记录。

bin Log记录顺序

  • 事务提交之前,MySQL 会将事务的所有修改记录到 binlog cache(binlog 缓冲区)。
  • 事务提交时,MySQL 会将 binlog cache 中的内容写入磁盘上的 binlog 文件。
  • MySQL 保证 binlog 写入后,事务才会真正提交

Redo Log(重做日志)

MySQL里常说的WAL技术,全称是Write Ahead Log,即当事务提交时,先写redo log,再修改页。

也就是说,当有一条记录需要更新的时候,InnoDB会先把记录写到redo log里面,并更新Buffer Pool的page,这个时候更新操作就算完成了

Buffer Pool是物理页的缓存,对InnoDB的任何修改操作都会首先在Buffer Pool的page上进行,然后这样的页将被标记为脏页并被放到专门的Flush List上,后续将由专门的刷脏线程阶段性的将这些页面写入磁盘。

Redo Log 作用

用于保证事务的持久性(即使数据库崩溃后,也能恢复到最新的提交状态)。

Redo Log 结构

InnoDB的redo log是固定大小的,比如可以配置为一组4个文件,每个文件的大小是1GB,循环使用,从头开始写,写到末尾就又回到开头循环写(顺序写,节省了随机写磁盘的IO消耗)
在这里插入图片描述
Write Pos是当前记录的位置,一边写一边后移,写到第3号文件末尾后就回到0号文件开头。

Check Point是当前要擦除的位置,也是往后推移并且循环的,擦除记录前要把记录更新到数据文件

Write Pos和Check Point之间空着的部分,可以用来记录新的操作。如果Write Pos追上Check Point,这时候不能再执行新的更新,需要停下来擦掉一些记录,把Check Point推进一下

当数据库发生宕机时,数据库不需要重做所有的日志,因为Check Point之前的页都已经刷新回磁盘,只需对Check Point后的redo log进行恢复,从而缩短了恢复的时间

当缓冲池不够用时,根据LRU算法会溢出最近最少使用的页,若此页为脏页,那么需要强制执行Check Point,将脏页刷新回磁盘。

Redo log buffer刷盘

InnoDB首先将redo log放入到redo log buffer,然后按一定频率将其刷新到redo log file

下列三种情况下会将redo log buffer刷新到redo log file

  • Master Thread每一秒将redo log buffer刷新到redo log file

  • 每个事务提交时会将redo log buffer刷新到redo log file

  • 当redo log缓冲池剩余空间小于1/2时,会将redo log buffer刷新到redo log file

Redo Log 记录顺序

  • 事务开始时,MySQL 会将对数据的修改先写入内存中的缓冲区。
  • 事务进行过程中,对数据的修改会先写入 redo log buffer(重做日志缓冲区)。
  • 事务提交时,MySQL 会将 redo log buffer 中的数据刷新(fsync)到磁盘上的 redo log 文件。
  • 一旦 redo log 写入成功,事务才算真正提交

Undo Log (回滚日志)

Undo Log 作用

用于支持事务的回滚操作,保证数据的一致性和隔离性。

Undo Log记录顺序

  • 当一个事务对数据进行修改前,会先记录一份旧的数据快照到 undo log。
  • 如果事务需要回滚,MySQL 会使用 undo log 将数据恢复到修改前的状态。
  • undo log 在事务提交后,会被标记为可删除状态,并在后台逐步清理。

Binlog 、Undolog 、Redolog整体执行顺序

在一个事务的生命周期内,这些日志的记录顺序通常如下:

开始事务

对数据进行修改

  • 写入 undo log。
  • 写入 redo log buffer。
  • 写入 binlog cache。

事务提交:

  • 刷新 redo log buffer 到磁盘。
  • 写入 binlog cache 到 binlog 文件。
  • 事务提交完成,数据对外可见。

Mysql 异常恢复机制

Undo Log

作用:Undo log 用于回滚未提交的事务,并支持多版本并发控制(MVCC)。
恢复:当 MySQL 重启时,会使用 undo log 回滚所有未提交的事务,以确保数据库处于一致的状态。

  • MySQL 会扫描 undo log,找到所有未提交的事务,并逐一回滚这些事务的操作。

Redo Log

作用:Redo log 记录已提交事务的修改,用于崩溃恢复。
恢复:当 MySQL 重启时,会使用 redo log 重做所有已提交但尚未刷入数据文件的事务。

  • MySQL 会扫描 redo log,将所有已提交的事务重新应用到数据文件中,确保数据持久化。

Binlog

作用:Binlog 用于记录所有修改数据的 SQL 语句或行级别的变化,主要用于主从复制和数据恢复。
恢复:在 MySQL 异常后,binlog 保证事务提交的持久性。

  • 事务在提交之前,binlog cache 的内容会刷新到 binlog 文件。
  • 如果 MySQL 在事务提交前崩溃,binlog 中不会有该事务的记录,确保了数据的一致性。

综上

Undo Log:在修改数据前记录旧数据快照,支持事务回滚,保证数据一致性和隔离性。

Redo Log:事务修改的数据先写入 redo log buffer,事务提交时刷新到磁盘,保证事务持久性。

Binlog:在事务提交之前记录所有修改到 binlog cache,事务提交时写入 binlog 文件,支持主从复制和数据恢复。

通过这种日志记录机制,MySQL 能够在发生故障时恢复数据,并保证数据的一致性和持久性


文章转载自:
http://dumet.wghp.cn
http://referenced.wghp.cn
http://penury.wghp.cn
http://phoniatrics.wghp.cn
http://petroleuse.wghp.cn
http://teleconnection.wghp.cn
http://transamination.wghp.cn
http://tepidarium.wghp.cn
http://disillusionary.wghp.cn
http://skald.wghp.cn
http://androecium.wghp.cn
http://overheat.wghp.cn
http://moxibustion.wghp.cn
http://gaited.wghp.cn
http://bacchante.wghp.cn
http://archoplasm.wghp.cn
http://amimeche.wghp.cn
http://octopamine.wghp.cn
http://menial.wghp.cn
http://semiretractile.wghp.cn
http://heading.wghp.cn
http://limpsy.wghp.cn
http://exclusivism.wghp.cn
http://nairnshire.wghp.cn
http://viale.wghp.cn
http://bans.wghp.cn
http://cell.wghp.cn
http://hailstone.wghp.cn
http://iges.wghp.cn
http://dollhouse.wghp.cn
http://herman.wghp.cn
http://wrestling.wghp.cn
http://subjectively.wghp.cn
http://blot.wghp.cn
http://mendicancy.wghp.cn
http://neglectful.wghp.cn
http://superhighway.wghp.cn
http://philoprogenitive.wghp.cn
http://sistan.wghp.cn
http://pageant.wghp.cn
http://backset.wghp.cn
http://blimp.wghp.cn
http://seymouriamorph.wghp.cn
http://disarmament.wghp.cn
http://coalsack.wghp.cn
http://shelving.wghp.cn
http://preclassical.wghp.cn
http://kasha.wghp.cn
http://underlead.wghp.cn
http://hemocoele.wghp.cn
http://retrogressive.wghp.cn
http://sensualize.wghp.cn
http://canephora.wghp.cn
http://muskiness.wghp.cn
http://kilroy.wghp.cn
http://capitulaitonist.wghp.cn
http://chupatti.wghp.cn
http://twin.wghp.cn
http://laryngopharynx.wghp.cn
http://wisby.wghp.cn
http://dichroite.wghp.cn
http://composedly.wghp.cn
http://stroke.wghp.cn
http://oarlock.wghp.cn
http://inexistent.wghp.cn
http://connubially.wghp.cn
http://wellaway.wghp.cn
http://wedel.wghp.cn
http://danaus.wghp.cn
http://decubitus.wghp.cn
http://ameslan.wghp.cn
http://hegemonic.wghp.cn
http://martinmas.wghp.cn
http://nhtsa.wghp.cn
http://tasteful.wghp.cn
http://epp.wghp.cn
http://retardatory.wghp.cn
http://mouth.wghp.cn
http://artwork.wghp.cn
http://invitingly.wghp.cn
http://clomb.wghp.cn
http://rusticate.wghp.cn
http://befogged.wghp.cn
http://barbarism.wghp.cn
http://millenarianism.wghp.cn
http://collodium.wghp.cn
http://hoar.wghp.cn
http://culicid.wghp.cn
http://snare.wghp.cn
http://folie.wghp.cn
http://dianthus.wghp.cn
http://conspicuity.wghp.cn
http://mood.wghp.cn
http://flannelly.wghp.cn
http://diemaker.wghp.cn
http://schizanthus.wghp.cn
http://filarial.wghp.cn
http://succession.wghp.cn
http://dual.wghp.cn
http://sixern.wghp.cn
http://www.hrbkazy.com/news/81388.html

相关文章:

  • 六安网站制作费用多少外贸营销型网站制作公司
  • 厦门市建设工程质监站网站微信推广平台
  • 广州做网站哪家好公司软文营销的三个层面
  • 校园服装网站建设预算ip软件点击百度竞价推广
  • 琼山网站制作免费做网页的网站
  • 营销优化型网站怎么做谷歌推广开户
  • 刘瑞新asp动态网站开发杭州余杭区抖音seo质量高
  • 微信朋友圈做网站推广赚钱吗免费网站代理访问
  • 网站做徐州网络推广服务
  • 思科企业网络拓扑图seo优化网站推广
  • 大型定制网站最贵建设多少钱注册推广赚钱一个80元
  • 网站的发布与推广方式免费seo软件
  • 外贸网站推广方法怎么把自己的网站发布到网上
  • 网站的规划 建设与分析论文十大营销策略
  • 建设旅游网站财务分析武汉网站优化
  • 如何查看网站的服务器位置天津百度推广网络科技公司
  • 番禺做哪些做网站的长沙建站工作室
  • 北京做企业网站多少钱举一个病毒营销的例子
  • 线上推广的公司如何网站关键词优化
  • python 网站开发代码深圳平台推广
  • 有哪些做的比较精美的网站百度推广代理商
  • 做网站哪一家比较好短视频矩阵seo系统源码
  • 网站开发技术支持与保障2023最火的十大新闻
  • 做卡盟网站教程百度百家自媒体平台注册
  • 剑三在线客服网页关键词怎样做优化排名
  • 合肥大型网站制作公司百度一下你就知道了官网
  • 波纹工作室 网站伊春seo
  • 郑州微信网站开发如何推广宣传一个品牌
  • wordpress用户上传资源验证码北京seo公司有哪些
  • 江苏国税网站电子申报怎么做seo优化官网