性能调优专题-mysql-Innodb底层原理与Mysql日志机制深入分析一

一. mysql的内部组件结构详解:

8.0没有查询缓存:

分析器:

最终经过词法分析和语法分析,就会进入一个语法树下,

优化器:

疑问/

1. 更新会把查询缓存清空吗?

会,只要有对一个表的更新,这个表所有的查询缓存都会被清空。

二. Innodb存储引擎底层原理:

Buffer pool: 内存池,整页数据,一页默认是16k,

redolog和undolog是Innodb存储引擎特有的,binlog是mysql公有的特性。

三. Redo log重做日志原理详解:

默认值为./即是mysql的安装位置,

1. redo日志文件写入磁盘过程分析:

当write pos追上check point时先将未写入磁盘文件的redo日志文件写入磁盘中,然后再擦除进行复写操作。

四. binlog二进制归档日志原理详解:

binlog二进制日志记录保存了所有执行过的修改操作语句,不保存查询操作。如果mysql服务意外停止,可通过二进制日志文件排查,用户操作或者表结构操作,从而来恢复数据库数据。

启动binlog记录功能,会影响服务器性能,但如果需要恢复数据或主从复制功能,则好处大于服务器的影响。

查看当前数据库有几个binlog文件:可以在磁盘上面看,也可以执行命令查看:

show binary logs:

最后一条就会造成主从复制异常,一般不会操作。

binlog的日志格式:

疑问?

1. binlog会定时清除吗?

会,

五. 删库跑路之数据恢复实战:

需要恢复两条数据:

1. 根据偏移量恢复

2. 根据时间来恢复数据:

binlog的备份时间要比自己备份数据库的天数要久。

六. undo log回滚日志原理详解:

InnoDB对undo log文件的管理采用段的方式,也就是回滚段(rollback segment)。每个回滚段记录了1024个undo log segment,每个事务知会使用一个undo log segment。

七. 错误日志与通用查询日志详解:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值