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. ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5

    ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5 ...

  2. Sqler 工具更新

    新加入打分邮件,针对每台db 服务器应用情况分析打分,目前支持batch.duration.cpu 3个维度.后续会支持 read io.write io.network io 等.自动化,数字化是衡 ...

  3. Ubuntu 16.04 无人值守自动更新

    https://help.ubuntu.com/lts/serverguide/automatic-updates.html 设置说明 APT::Periodic::Update-Package-Li ...

  4. 在Eclipse中卸载Team Explorer Everywhere

  5. [Elixir002]节点启动后自动连接其它节点

    问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动 ...

  6. TSQL--聚合函数

    --======================================================== --COUNT --COUNT(1) 和COUNT(*) 计算结果相同,COUNT ...

  7. 对SIP摘要认证方案的理解

    一.口令认证常见机制 基于口令认证的系统一般有以下几种口令验证方式: 1.客户端以明文形式将用户名密码通过网络发送到服务器,服务器与已经保存在服务端的用户名密码进行比较,一致则通过验证: HTTP基本 ...

  8. 1、认识Redis

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库.Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库, ...

  9. ActionBarSherlock(一)在Eclipse中如何引入ActionBarSherlock和它的例子?

    ActionBarSherlock,是一个开源的Actionbar项目(http://actionbarsherlock.com/download.html).为什么我们要用它呢?谷歌已经不强制要求厂 ...

  10. P4016 负载平衡问题 网络流

    P4016 负载平衡问题 题目描述 GG 公司有 nn 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 nn个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运 ...