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

微信营销微网站建设企业网站建设属于什么科目

微信营销微网站建设,企业网站建设属于什么科目,做网站帮外国人淘宝,百度提交网站收录查询MySQL 中有三种重要的日志机制:Binlog(二进制日志)、UndoLog(回滚日志)和 RedoLog(重做日志)。它们在数据库系统中扮演着不同的角色,共同保障了数据库的可靠性、一致性和可恢复性。 …

        MySQL 中有三种重要的日志机制:Binlog(二进制日志)、UndoLog(回滚日志)和 RedoLog(重做日志)。它们在数据库系统中扮演着不同的角色,共同保障了数据库的可靠性、一致性和可恢复性。

1. Binlog (Binary Log,二进制日志)

基本概念

        Binlog 是 MySQL Server 层实现的二进制日志,记录了对数据库执行的所有更改操作(DDL 和 DML),但不包括 SELECT 和 SHOW 这类不修改数据的操作。

主要特点

  • 服务层实现:与存储引擎无关,所有引擎都会产生 binlog。

  • 追加写入:以追加方式写入文件,不会覆盖旧日志。

  • 三种格式

    • STATEMENT:记录 SQL 语句本身。

    • ROW:记录行的变更(默认格式)。

    • MIXED:混合模式,根据情况自动选择。

主要用途 

  • 主从复制:从库通过重放主库的 binlog 实现数据同步。

  • 数据恢复:可以通过 binlog 进行时间点恢复。

  • 数据审计:可以通过分析 binlog 追踪数据库变更。

工作流程

  1. 事务执行过程中,将变更记录到 binlog cache。

  2. 事务提交时,将 binlog cache 写入 binlog 文件。

  3. 根据 sync_binlog 参数决定何时刷盘(0-系统决定,1-每次提交,N-每N次提交)。

2. UndoLog (回滚日志)

基本概念

        UndoLog 是 InnoDB 存储引擎特有的日志,用于记录事务发生前的数据状态,主要用于事务回滚和 MVCC 实现。

主要特点

  • 逻辑日志:记录与执行操作相反的操作(如 INSERT 对应 DELETE)。

  • 存储在系统表空间:默认存储在 ibdata1 文件中。

  • 多版本控制:支持 MVCC(多版本并发控制)。

主要用途

  • 事务回滚:事务失败时回滚到之前的状态。

  • MVCC 实现:提供数据的多版本读视图。

  • 崩溃恢复:帮助恢复未完成的事务。

工作流程

  1. 事务开始前,记录修改前的数据到 undo log。

  2. 如果事务需要回滚,根据 undo log 恢复原始数据。

  3. 事务提交后,undo log 不会立即删除,可能被其他事务的 MVCC 读使用。

3. RedoLog (重做日志)

基本概念

        RedoLog 是 InnoDB 特有的物理日志,记录的是"在某个数据页上做了什么修改",用于崩溃恢复。

主要特点

  • 物理日志:记录的是页的物理修改。

  • 循环写入:固定大小,循环使用。

  • WAL 技术:Write-Ahead Logging,先写日志再写磁盘。

  • 两阶段提交:与 binlog 配合实现数据一致性。

主要用途

  • 崩溃恢复:确保已提交事务的持久性。

  • 提高性能:将随机 IO 变为顺序 IO。

  • 保证持久性:即使系统崩溃也能恢复已提交的数据。

工作流程

  1. 事务修改数据时,先修改内存中的缓冲池(Buffer Pool)。

  2. 将修改记录写入 redo log buffer。

  3. 根据 innodb_flush_log_at_trx_commit 参数决定刷盘时机:

    • 0:每秒刷盘一次。

    • 1:每次事务提交都刷盘(默认)。

    • 2:每次提交只写入文件系统缓存。

4. 三者的协同工作

在事务提交时,这三种日志的协作流程(以默认设置为例):

  1. 事务开始。

  2. 记录 undo log(用于回滚)。

  3. 执行 SQL,修改 Buffer Pool 中的数据页。

  4. 记录 redo log(准备状态)。

  5. 记录 binlog。

  6. 提交事务,redo log 状态改为 commit。

  7. 后台线程将脏页刷盘。

这个过程采用了"两阶段提交"来保证 redo log 和 binlog 的一致性。

5. 对比总结

特性BinlogUndoLogRedoLog
层级MySQL Server 层InnoDB 引擎层InnoDB 引擎层
类型逻辑日志逻辑日志物理日志
内容SQL 或行变更反向操作页的物理修改
用途复制、恢复、审计事务回滚、MVCC崩溃恢复
生命周期可配置保留时间事务结束后可能保留循环覆盖使用
持久化时机事务提交时事务开始前事务过程中

6. 实际应用中的注意事项

  • 性能调优

    • sync_binlog 和 innodb_flush_log_at_trx_commit 参数影响性能和数据安全性。

    • 适当增大 redo log 大小可以减少刷盘频率。

  • 备份恢复

    • 结合 binlog 可以实现时间点恢复。

    • 全量备份+binlog 是常见的备份策略。

  • 主从复制

    • 基于 binlog 的主从复制有延迟问题。

    • 半同步复制可以部分解决数据一致性问题。

http://www.dtcms.com/wzjs/546850.html

相关文章:

  • 帮人负责做网站叫什么工作微信小程序设计软件
  • 如何做一个手机网站网站做edi认证有用没
  • 务川县建设局官方网站网页设计图片向左移是什么代码
  • 吉林平台网站建设哪里有做游戏网站需要哪些许可
  • 网站设计服务企业网站 专题建设服务
  • 做数据的网站长沙网站设计培训机构
  • 摄影作品网站建设方案书微信平台软件开发
  • 做像58同城这样的网站能用mysql数据库吗wordpress自定义功能
  • 做外包哪个网站好一些中英文网站案例
  • 做巧克力的网站搜索引擎优化的方法包括
  • 免费网站如何注册软件开发步骤及周期
  • 织梦贷款网站源码百度爱采购网站官网
  • 做网站用什么系统好wordpress添加script
  • 网站建设 网站制作 网站设计驾校做网站
  • 产品设计公司网站银川如何做百度的网站
  • 建设电影网站选服务器怎么选wordpress插件如何使用教程
  • 网站建设技巧讠金手指排名26wordpress多个主题
  • 漯河做网站xknt企业网络营销策划平台
  • 一般网站用什么做的郑州网站排名分析
  • 上海定制化网站开发论文格式样板模板
  • 如何做自己的淘宝客网站科讯怎么建设网站
  • designer怎么做网站wordpress下载破解版
  • 有做网站需求的客户谷歌sem
  • 东莞网站建设 餐饮南京前十名传媒广告公司
  • 做农业的公司管理网站平度网站建设ld4
  • 网站做备案需要多久系统门户网站建设常用功能
  • 常德天恒建设网站广告体验程序网站开发
  • 济宁网站建设常用解决方案做网站广告联盟赚钱
  • 一个网站seo做哪些工作做旅游网站犯法吗
  • 空间坐标系做图网站ifttt wordpress