zoukankan      html  css  js  c++  java
  • 【文档】一、Mysql Binlog概述

    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日志以可读的方式打印出来。

  • 相关阅读:
    登录的验证码
    分页效果
    弹出新窗口
    添加软键盘
    左侧菜单
    制作导航
    DEV第三方控件的GalleryControl控件
    div悬浮在屏幕的中间及点击按钮关闭弹出框
    鼠标经过图片时向前突出并放大图片
    UIImageView实现加载网络gif图片
  • 原文地址:https://www.cnblogs.com/f-zhao/p/7637290.html
Copyright © 2011-2022 走看看