mysql 原理 ~ binlog
Posted danhuangpai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 原理 ~ binlog相关的知识,希望对你有一定的参考价值。
一 简介:我们会持续对binlog进行分析,但是不深入代码
二 版本 5.6
格式
GTID和传统格式
传统格式
一 binlog针对具体事务注意点-1
1 update会记录更改前和更改后所有列的值
2 delete会记录删除前所有列的值
3 insert会记录插入的具体sql
4 ddl语句只会记录语句本身,不会记录影响行
5 dcl语句不会记录
6 特殊类型
1 trigger 1 记录产生数据更新的sql语句。对于调用触发器后产生的数据更新,并不记录到binlog中
2 function 如果函数中有数据改变,那函数的调用语句(包括select语句)将记录到binlog中
3 event event触发事件后,更新数据的sql语句将记入binlog,event功能默认是关闭的。在master上定义event后,slave同步event并将其标示为SLAVESIDE_DISABLED,这里要特别注意
总结:1 记录创建语句本身 2记录执行过程中所生成的语句,并不会记录列所有值
7 特殊语句
create table as select * from 是按照insert单条记录记录的,但是属于一个事务
二 binlog针对事务记录点-2
1 记录表信息
dbname,table_name,table_id
2 事务相关信息
1 一个完整的事务一定是以begin开始以end结束
2 事务开始-提交的具体时间
3 事务开始-提交的position
三 恢复
1 按照位点恢复,记住一定要选择一个完整的事务进行恢复,那么如何确定一个完整的事务位点呢,事务开始的时候begin下的位点,commit下的位点
待续
以上是关于mysql 原理 ~ binlog的主要内容,如果未能解决你的问题,请参考以下文章