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下的位点
待续

猜你喜欢

转载自www.cnblogs.com/danhuangpai/p/9456990.html
今日推荐