有了域名和空间怎么做网站内容,长沙网站优化步骤,如何去推广一个网站,软文代发代理【redo log buffer】【redo log file】-原理目录#xff1a;1.重做日志写入过程图2.相关知识点汇总图3.redo_log_buffer 原理4.redo_log_file 原理1. 重做日志写入过程#xff1a;2. 相关知识点汇总#xff1a;3. redo log buffer 原理重做日志缓冲(redo log buffer)是Innod…【redo log buffer】【redo log file】-原理目录1.重做日志写入过程图2.相关知识点汇总图3.redo_log_buffer 原理4.redo_log_file 原理1. 重做日志写入过程2. 相关知识点汇总3. redo log buffer 原理重做日志缓冲(redo log buffer)是Innodb存储引擎的内存区域中的一部分。【重做日志信息--(1)--redo log buffer--(2)--重做日志文件】在(2)中涉及知识1.关于innodb_log_buffer_size的大小(默认8M)mysql show variables like innodb_log_buffer_size%;---------------------------------| innodb_log_buffer_size | 8388608 |---------------------------------8388608(Byte)/1024/10248M重做日志缓冲不需要设置的太大只要保证每秒产生的事务量在缓冲大小范围之内。因为每秒都会刷新缓冲到日志文件。8M足够了。2.在以下三种情况下会将重做日志缓冲中的内容刷新到外部磁盘的重做日志文件中。Master Thread 每一秒将重做日志缓冲刷新到重做日志文件每个事务提交时会将重做日志缓冲刷新到重做日志文件当重做日志缓冲池剩余空间小于1/2时重做日志缓冲刷新到重做日志文件。4. redo log file 原理1.重做日志介绍日志文件名1.innodb_log_group_home_dir参数指定的目录下有两个文件ib_logfile0ib_logfile12.该文件被称为重做日志文件(redo log file)记录Innodb存储引擎的事务日志。至关重要3.例如服务器意外宕机导致实例失败Innodb存储引擎利用重做日志恢复到宕机前的状态以此保证数据的完整性。日志文件组1.每个Innodb存储引擎至少有1个重做日志文件组每个组至少包含2个重做日志文件(ib_logfile0,ib_logfile1).2.可以通过设置多个镜像日志组(mirrored log groups),将不同组放到不同磁盘提高重做日志的高可用性。3.日志组中的文件大小是一致的以循环的方式运行。文件1写满时切换到文件2文件2写满时再次切换到文件1.日志文件参数1.innodb_log_file_size 重做日志文件的大小。2.innodb_log_files_in_group 指定重做日志文件组中文件的数量默认23.innodb_mirrored_log_groups 指定了日志镜像文件组的数量默认14.innodb_log_group_home_dir 指定日志文件组所在的路径默认./ 表示在数据库的数据目录下。2.重做日志文件大小设置太大恢复时可能需要很长时间太小可能导致一个事务需要多次切换重做日志文件会导致async checkpoint导致性能抖动。错误日志警告信息InnoDB:ERROR:the age of the last checkpoint is 9433645,InnoDB:which exceeds the log group capacity 9433498.解析重做日志有个capacity变量代表最后的检查点不能超过这个阈值如果超过必须将缓冲池中脏页列表(flush list)中的部分脏数据页写回磁盘这是会导致用户线程的阻塞。3.二进制日志和重做日志的对比1.类别二进制日志记录MySQL数据库相关的日志记录包括InnoDBMyISAM等其它存储引擎的日志。重做日志只记录InnoDB存储引擎本身的事务日志。2.内容二进制日志记录事务的具体操作内容是逻辑日志。重做日志记录每个页的更改的物理情况。3.时间二进制日志只在事务提交完成后进行写入只写磁盘一次不论这时事务量多大。重做日志在事务进行中就不断有重做日志条目(redo entry)写入重做日志文件。4.重做日志条目1.条目基本格式redo_log_type (1字节)space (压缩后可能4字节)page_noredo_log_bodyreod_log_type: 占用1字节表示重做日志类型。各种不同操作有不同的重做日志格式但有基本的格式。space表空间的ID采用压缩的方式占用空间可能小于4字节。page_no:页的偏移量同样采用压缩方式redo_log_body:每个重做日志的数据部分恢复时需要调用相应的函数解析。5.写入过程1.重做日志信息 先写入 重做日志缓冲 再按一定条件顺序写入重做日志文件2.redo log buffer 向 redo log file 写是按512个字节也就是一个扇区的大小进行写入。扇区是写入的最小单位一定能写入成功因此过程中不需要double write.