您现在的位置是:主页 > news > 佛教网站大全免费/企业品牌推广

佛教网站大全免费/企业品牌推广

admin2025/4/27 2:22:47news

简介佛教网站大全免费,企业品牌推广,现在什么网站做外贸的最好,北京房产网58同城网Mysql日志 WAL机制(Writer Ahead Logging) redo log 存在write pos和check pos 每次数据写入redo log,write pos向前移动,当write pos到达check pos的时候,check pos往后移动,这个移动mysql中对硬盘数据页的修改全…

佛教网站大全免费,企业品牌推广,现在什么网站做外贸的最好,北京房产网58同城网Mysql日志 WAL机制(Writer Ahead Logging) redo log 存在write pos和check pos 每次数据写入redo log,write pos向前移动,当write pos到达check pos的时候,check pos往后移动,这个移动mysql中对硬盘数据页的修改全…

Mysql日志

WAL机制(Writer Ahead Logging)

redo log

存在write pos和check pos

每次数据写入redo log,write pos向前移动,当write pos到达check pos的时候,check pos往后移动,这个移动mysql中对硬盘数据页的修改全部实施到响应的页中

#redo log的大小控制
innodb_log_files_in_group #redolog文件的个数
innodb_log_file_size #每个redolog文件的大小

binlog

记录MySQL中数据的修改

#格式
statement #binlog中记录SQL日志。
rows #rows格式记录每一个行的每一个字段的具体改动
mixed #默认记录sql, 由MySQL判断,可能会造成数据不一致的情况便会使用rows格式进行记录
#在性能上statement>mixed>rows, 在数据一致性上rows>mixed>statement

数据更新过程:

事务开启->更新数据->记录redo log标记为prepare状态->记录binlog->事务提交->标记redo log为commit状态

buffer pool

free list(free page)

lru list(clean page)

flush list(dirty page、clean page)(以midpoint为基点前百分之六十三为new列表区经常访问的数据,后面百分之三十七为old列表区,插入数据从midpoint插入)

新的数据读入buffer pool,有空闲页从free list删除free page放入lru列表;没有空闲页从lru列表淘汰默认页,将内存分配给新的数据

DoubleWrite

(数据库页大小与系统中的页大小不同)当发生数据库宕机时,可能 InnoDB存储引擎正在写入某个页到表中,而这个页只写了一部分,比如16KB的页,只写了前4KB,之后就发生了宕机,这种情况被称为部分写失效(partial page write)

redo log只能恢复数据完整的页

内存中 double write buffer 2MB

物理磁盘128页(2个区)2MB

脏页刷盘:

  1. 先将脏页复制到内存的Double write buffer,之后分两次顺序写入共享表空间中的物理磁盘

  2. fsync同步磁盘时,该过程是顺序的,最后将double write buffer中的页分别写到对应的各表空间

发生故障在1时,磁盘上的数据是完整的,可以通过redo log恢复

发生故障在2时,磁盘数据成为脏数据,只能通过double write恢复

Change Buffer

对非唯一索引进行写操作时,内存中存在数据,直接操作,如果内存中不存在数据,先将操作存在change buffer中,等数据页加载到内存中再对其更新。

将 change buffer(默认buffer pool 的百分之二十五) 中的操作合并到原数据页,得到最新结果的过程称为 merge。以下情况会触发merge:

  • 访问这个数据页;
  • 后台master线程会定期 merge;
  • 数据库缓冲池不够用时;
  • 数据库正常关闭时;