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

怎么在百度上制作自己的网站网站接广告平台

怎么在百度上制作自己的网站,网站接广告平台,北京网站改版,机关网站建设工程总结一、引言 在数据库系统中,日志模块是确保ACID特性的核心组件。MySQL InnoDB存储引擎通过binlog(二进制日志)、redo log(重做日志)、undo log(回滚日志)三大日志系统,构建了完整的崩…

一、引言

在数据库系统中,日志模块是确保ACID特性的核心组件。MySQL InnoDB存储引擎通过binlog(二进制日志)、redo log(重做日志)、undo log(回滚日志)三大日志系统,构建了完整的崩溃恢复机制、事务回滚能力和主从复制体系。本文将深入解析这三类日志的工作原理、差异及协同机制。

二、各自的含义

(一)bin_log(二进制日志)

  • 定义:bin_log 是 MySQL 的二进制日志,由 MySQL Server 层生成,主要记录了所有更改数据的 SQL 语句,如 INSERTUPDATEDELETEDDL 等操作,以二进制形式存储。

  • 作用

    • 主从复制:在主从复制架构中,主库将所有 SQL 变更操作记录到 bin_log 中,从库再从主库读取这些 bin_log 并执行相同的操作,达到数据同步的效果。

    • 数据恢复:通过使用 mysqlbinlog 工具来恢复数据,可用于数据库的增量恢复。

  • 存储位置:默认情况下,bin_log 存储在 MySQL 数据目录中,可以通过配置文件或动态修改参数来指定存储位置。通过max_binlog_size控制文件大小,索引文件记录日志列表。

  • 写入时机:事务提交前按顺序写入(组提交优化)

  • 存储格式:STATEMENT(SQL语句)、ROW(行数据)、MIXED(混合模式)

  • 配置示例

    [mysqld]
    log_bin = /var/lib/mysql/mysql-bin
    binlog_format = ROW
    sync_binlog = 1  # 每次提交同步磁盘

(二)redo_log(重做日志)

  • 定义:redo_log 是 InnoDB 存储引擎特有的日志,用于记录事务对数据页的物理变更,即每次数据页发生变更时所产生的变更记录。

  • 作用

    • 持久性保障:确保事务的持久性,通过记录变更操作,可以在数据库异常崩溃后进行恢复,将数据库状态恢复到崩溃前的最新状态。

    • 提高性能:采用预写日志(Write-Ahead Logging, WAL)机制,先写日志再写磁盘,将磁盘随机 IO 转化为顺序 IO,有效提升了写入性能。

  • 存储位置:redo_log 存储在 InnoDB 的表空间中,包括系统表空间和独立表空间。

  • 物理日志:记录数据页的物理修改(如"page 5 offset 24写入值0x12")

  • 循环写入:固定大小文件(通常ib_logfile0/1),通过LSN(Log Sequence Number)管理

  • 刷盘策略:innodb_flush_log_at_trx_commit控制持久化级别

  • 检查点:Checkpoint机制标记已持久化的数据位置

(三)undo_log(回滚日志)

  • 定义:undo_log 是 InnoDB 存储引擎层生成的日志,用于记录事务中的历史版本,即在事务执行过程中修改前的数据版本。

  • 作用

    • 事务回滚:若事务失败或主动回滚,通过 undo_log 可以恢复到事务开始前的状态,从而保证数据库的一致性。

    • 多版本并发控制(MVCC):支持 REPEATABLE READ 隔离级别下的多版本控制,允许多个事务同时读取数据的不同版本,而不会相互阻塞。

  • 存储位置:undo_log 存储在 InnoDB 的共享表空间(ibdata1)中。

  • 事务关联

    // 伪代码示例
    start_transaction();
    old_data = read_row();         // 读取当前数据
    undo_log = generate_undo(old_data); // 生成undo记录
    modify_row(new_data);          // 修改数据
    write_redo();                  // 写入redo日志
    commit();

三、各自的特点

(一)bin_log 的特点

  • 逻辑日志:记录的是 SQL 语句的逻辑操作,如 “给 ID=2 这一行的 age 字段加 1”。

  • 追加写:bin_log 是追加写入的,文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。

  • 非循环写:与 redo_log 不同,bin_log 不是循环写的,可以一直追加写入,直到磁盘空间不足。

(二)redo_log 的特点

  • 物理日志:记录的是数据页的物理变更,如 “对 XXX 表空间中的 YYY 数据页 ZZZ 偏移量的地方做了 AAA 更新”。

  • 循环写:redo_log 是循环写入的,空间固定会用完,旧的日志会被新的日志覆盖。

  • 顺序写:采用顺序写入方式,将磁盘随机 IO 转化为顺序 IO,提高了写入性能。

(三)undo_log 的特点

  • 逻辑日志:记录的是数据的逻辑变更,如某条记录在更新前的值。

  • 随机写:由于 undo_log 需要根据事务的执行情况动态生成和删除,因此写入操作是随机的。

  • 与 redo_log 协作:在事务提交时,redo_log 记录物理变更,保障数据页的持久性,而 undo_log 负责记录未提交的变更,从而实现了数据库的事务一致性。

四、三者之间的区别

特性bin_logredo_logundo_log
日志类型逻辑日志物理日志逻辑日志
生成位置MySQL Server 层InnoDB 存储引擎层InnoDB 存储引擎层
记录内容SQL 语句的执行记录数据页的物理变更数据的历史版本
写入方式追加写循环写随机写
主要作用主从复制和数据恢复持久性和崩溃恢复事务回滚和 MVCC
存储位置MySQL 数据目录InnoDB 表空间InnoDB 共享表空间
对性能的影响写入性能较高,但大量小事务可能导致频繁切换文件顺序写入,性能较高随机写入,性能较低

五、生产环境最佳实践

  1. 日志配置优化

    • binlog:ROW格式 + sync_binlog=1(金融级数据安全)

    • redo log:设置innodb_flush_log_at_trx_commit=2(允许OS缓存,性能与安全的平衡)

    • undo表空间:独立SSD存储,避免IO争用

  2. 容量规划

    • redo log文件大小建议4G-8G(避免频繁checkpoint)

    • binlog过期时间根据备份策略设置(通常7-30天)

    • 监控undo表空间使用率(information_schema.INNODB_METRICS)

  3. 问题排查技巧

    • 分析binlog:mysqlbinlog --verbose mysql-bin.000001

    • 检查redo状态:SHOW ENGINE INNODB STATUS的LOG部分

    • 监控undo使用:SELECT * FROM information_schema.INNODB_TRX;


六、总结

三大日志系统的协同工作构成了InnoDB强大的事务处理能力:

  • binlog 作为逻辑日志层,保障了数据复制的全局一致性

  • redo log 通过物理日志实现了高效的崩溃恢复机制

  • undo log 则支撑了事务的原子性和多版本并发控制

理解这些日志的交互关系,对于优化数据库性能、设计高可用架构以及处理复杂事务场景具有重要意义。实际应用中需要根据业务特点,合理配置日志参数,平衡数据安全与系统性能。

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

相关文章:

  • 手机网站模板演示百度百家
  • 怎么做百度网站视频app推广
  • 广告发布登记管理规定蚁百杭州网站seo优化
  • 网站介绍页面二十条优化疫情措施
  • 万州网站制作百度不能搜的十大禁词
  • 宿迁专业网站三合一建设免费的网页入口
  • 唐山网站建设报价seo权重优化
  • 做调查问卷网挣钱的网站网站优化名词解释
  • 青岛鲁icp 网站制作 牛商网常州seo
  • 网上做彩票的网站是真的么站长工具综合权重查询
  • it培训网站企业网络推广网站
  • 织梦软件怎么使用域名做网站百度广告推广平台
  • 搜索优化网络推广天津百度快照优化公司
  • 网站内容管理后台系统怎么做广告联盟赚钱app
  • 做网站是需要多少钱网站关键词查询
  • 网站想要游览怎么做即刻搜索
  • 网站功能组件百度一下网页版浏览器
  • 米拓建站下载微营销推广平台有哪些
  • 做网站有前景吗中国搜索引擎排名
  • 如何建立自己网站视频教程建立个人网站
  • 视觉元素网站seo引擎搜索入口
  • 福建省建设厅招标网站网站seo技术能不能赚钱
  • 温岭建设网站泰州seo外包
  • 房屋信息网站十大免费网站推广入口
  • 百度做的网站 后台管理怎么进入简单的网页设计源代码
  • 公关公司是做什么的哈尔滨推广优化公司
  • 购物网站创业时是如何做宣传的百度入口网页版
  • 义乌做网站哪家好营销型企业网站推广的方法有哪些
  • 大丰区城乡和住房建设局网站线上推广哪个平台最好
  • 嘉兴网站排名优化公司新闻发布会稿件