曲周手机网站建设,新乡网站开发公司,网站建设江门 优荐,小说网站自主建设undo log、redo log、bin log三者之间的区分#xff1f;
从 产生的时间点、日志内容、用途 三方面展开论述即可
1.undo log——撤销日志 时间点#xff1a;事务开始之前产生#xff0c;根据当前版本的数据生成一个undo log#xff0c;也保存在事务开始之前 作用#xf…undo log、redo log、bin log三者之间的区分
从 产生的时间点、日志内容、用途 三方面展开论述即可
1.undo log——撤销日志 时间点事务开始之前产生根据当前版本的数据生成一个undo log也保存在事务开始之前 作用在InnoDB存储引擎中用于保存旧的数据版本以便在事务回滚时使用。 内容旧版本的数据 用途 数据的回滚撤销保证MVCC支持事务的ACID特性确保**数据原子性和一致性**
2.redo log——重做日志 时间点事务开始之后产生在事务的执行过程中写入日志数据 作用在InnoDB存储引擎中用于确保事务的持久性。 内容物理日志对数据所做的修改。 用途在系统崩溃时用于同步数据。 处理过程 分为两部分重做日志缓存redo log buffer存在于内存重做日志文件redo log file存在于磁盘当事务提交之后将所有修改信息存储到日志文件中而不是磁盘中即WALWrite-Ahead-Logging预写日志系统好处 保证事务的持久性只记录对数据的修改数据比一页数据小很多大大减少IO频率redo log写入是顺序写入而修改磁盘是随机写入
3.bin log——二进制日志
作用记录所有修改数据的SOL语句用于数据复制和数据恢复。内容插入、更新、删除等修改数据或数据结构的操作。用途: 复制:在主从复制中从服务器会读取主服务器的二进制日志文件以保持与主服务器的数据同步。数据恢复:可以使用二进制日志进行点时间恢复。
4.Error log——错误日志
作用:记录mysqld启动、运行或停止时出现的问题。内容:包括启动、运行或关闭mysql时的问题、以及服务或服务器出错的信息。用途:诊断问题确定哪些客户端尝试连接以及是否出现了表的损坏等。
5.General Query log——查询日志
作用:记录所有到MVSOL服务器的连接和查询。内容:客户端连接及每个连接发送给服务器的所有SOL查询。用途:分析和查找可能存在的问题。但在生产环境中常常因为性能原因而不启用。
6.Slow Query log慢查询日志
作用:记录查询执行时间超过long query time值的所有SOL查询。内容:响应时间超出预设阈值的SOL查询。用途:帮助找到、分析并优化性能较差的查询。
7.小结 产生时间点内容用途undo log事务开始之前写入并保存逻辑日志旧版本数据回滚提供多版本并发控制下的读保证事务的原子性和一致性redo log事务开始之后开始根据事务执行写入物理日志对数据的修改mysql宕机用于恢复数据到磁盘保证事务的持久性bin log事务提交的时候一次性将事务中的所有sql记录到bin log逻辑日志事务中所有的sql主从复制基于时间点的数据恢复