Binlog是一系列日志文件,他们包含的内容是Mysql数据内容的改变。如果想开启binlog功能,需要在启动时带上--log-bin参数。

binlog是从Mysql3.23.14版本开始的。它包含所有更新数据的sql语句。它还包含可能更新数据的语句(比如,删除不存在的数据行的语句),除非日志的记录是以基于行的。sql语句是以描述修改的事件形式存储的。binlog也包含每个语句的执行时间。

binlog还包含其他的一些源数据,比如:

  • 语句执行时,服务器的状态信息,以便用于正确的重新成功执行语句
  • 错误码
  • 为了维持binlog文件的连续性所需要的元数据(比如,rotate事件)

binlog文件是服务器在执行sql语句过程中整体状态的情况跟踪。它包含的事件描述了状态的变化。更精确的是,binlog事件描述的事件可以被用来重现服务器当时的状态改变。

binlog文件有两个重要的目的:

  • 为了主从复制,binlog文件是master服务器记录的,会被发送给slave服务器。很多binlog的格式细节和处理是用于这个目的的。master服务器发送binlog文件中的事件给slave服务器,然后slave服务器执行这些事件,最终达到的目标就是保证slave服务器的数据变化与master一致。slave服务器在执行这些事件之前,会把这些事件存储在本地的relay log中。relay log的格式与binlog一样。
  • 某些数据恢复操作需要使用binlog。在备份文件恢复后,binlog中的事件会重新执行。这些事件会让数据库的数据回到备份时间点。

目前有两种类型的binlog:

  • 基于语句的:包含sql语句的事件(insert、update、delete)
  • 基于行的:描述每一行的数据变化的事件

混合的日志默认使用的是基于语句的记录方式,在必要时会切换到基于行的记录方式。基于行的记录方式从Mysql 5.1版本开始支持。

mysqlbinlog工具可以把binlog或者relay log日志以可读的方式打印出来。

【文档】一、Mysql Binlog概述的更多相关文章

  1. 部署openstack的官网文档解读mysql的配置文件

    部署openstack的官网文档解读mysql的配置文件(使用与ubutu和centos7等系统) author:headsen chen  2017-10-12 16:57:11 个人原创,严禁转载 ...

  2. PHP实例:使用PHPExcel导入Excel2003文档和Excel2007文档到MySQL数据库中

    如果要使用phpExcelReader将Excel 数据导入到mysql 数据库,请读者点击这个文章查看. 使用phpExcelReader将Excel 数据导入到mysql 数据库. 下面我们介绍另 ...

  3. Android文档 - 账户管理器概述

    账户管理器概述 这个类提供了访问到 用户在线账户的集中式注册中心 的能力.用户为每账户输入一次 认证信息(credentials,包含用户名和密码),过过 点击一次(one-click)完成认证的方式 ...

  4. mysql官网文档调试MYSQL资料 5.7

    http://dev.mysql.com/doc/refman/5.7/en/debugging-server.html

  5. 数据库官方在线文档列表(mysql, postgreSQL)

    1. mysql http://dev.mysql.com/doc/ 2. postgreSQL https://www.postgresql.org/docs/

  6. java读取Excel文档插入mysql

    /** * 读取excel插入myslq */package com.excel; import java.io.BufferedInputStream;import java.io.File;imp ...

  7. 阅读阿里文档总结————Mysql数据库篇

    一:建表规范 1.针对于任何字段如果为非负数,必须是 unsigned: 2.表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除: (1为是:0为否) 3.主键索引名为 pk_字 ...

  8. Spring Boot文档

    本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...

  9. 带你了解 MySQL Binlog 不为人知的秘密

    MySQL 的 Binlog 日志是一种二进制格式的日志,Binlog 记录所有的 DDL 和 DML 语句(除了数据查询语句SELECT.SHOW等),以 Event 的形式记录,同时记录语句执行时 ...

随机推荐

  1. [转]WCF Data Services OData

    http://martinwilley.com/net/data/wcfds.html WCF Data Services About OData Server code Client For .ne ...

  2. HDU1102&&POJ2421 Constructing Roads 2017-04-12 19:09 44人阅读 评论(0) 收藏

    Constructing Roads Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) ...

  3. ZSTU4266 回文 2017-03-22 14:25 55人阅读 评论(0) 收藏

    4266: 回文 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1636  Solved: 504 Description 小王想知道一个字符串是否为 ...

  4. 试题 G: 外卖店优先级 第十届蓝桥杯

    试题 G: 外卖店优先级时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20 分[问题描述]“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖店都有一个优先级,初始时 ...

  5. UI 设计概念介绍

    UI 设计概念介绍 http://www.slideshare.net/tedzhaoxa/ui-and-ue-design-basic

  6. 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用

    解决方法是分两次查询. 报错的原因是在涉及到内存中的对象与EF里的对象混合查询时,内存中的对象要是基元类型. 第一次查询实际上会因为EF的延时加载,不会立即将数据查询到内存中. 解决方法是对第一次查询 ...

  7. 关于EF的一点小记录

    今日新闻:朝鲜要改革开放了!!!比你牛逼的人都在努力,你还有理由懒惰吗? 宇宙强大IDE配套的EF问题记录 今天做数据添加时,Id我设置为int类型了,结果在做Add操作时报的错让我摸不着头脑,后来问 ...

  8. 巧用网页开发者工具F12 审查、修改元素、去除广告、屏蔽遮罩

    巧用网页开发者工具F12 审查.修改元素.去除广告.屏蔽遮罩 每当打开一个网页的时候,是否为页面有很多广告而烦恼:是否为要操作页面(例如观看超清视频),请先注册登录等等事情而麻烦:是否对网页加锁的视频 ...

  9. 7-Linq查询语言

    本篇博客对应视频讲解 回顾 上一期我们讲解了字符编码相关的内容,大家应该去理解字符和字节之间的关系.并学习使用Encoding类进行编码之间的转换. 今天给大家讲的内容十分的重要,也是C#等语言比其他 ...

  10. sqlite 插入数据 too many variables

    相关文档:http://www.sqlite.org/limits.html#max_variable_number 一次插入条数限制500,参数最多999个.