MySQL的binlog数据如何查看

原创地址: http://blog.chinaunix.net/uid-16844903-id-3896711.html

binlog介绍

  1. binlog,即二进制日志,它记录了数据库上的所有改变.
  2. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕.
  3. binlog格式
    • 基于语句,无法保证所有语句都在从库执行成功,比如update ... limit 1;
    • 基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操作时,基于行的格式会有优势.

登录到mysql查看binlog

  1. 只查看第一个binlog文件的内容

    show binlog events;
    
  2. 查看指定binlog文件的内容
    show binlog events in ‘mysql-bin.000002‘;
    
  3. 查看当前正在写入的binlog文件
    show master status\G
    
  4. 获取binlog文件列表
    show binary logs;
    

用mysqlbinlog工具查看

注意:

  1. 不要查看当前正在写入的binlog文件
  2. 不要加--force参数强制访问
  3. 如果binlog格式是行模式的,请加 -vv参数

本地查看

  1. 基于开始/结束时间

    mysqlbinlog --start-datetime=‘2013-09-10 00:00:00‘ --stop-datetime=‘2013-09-10 01:01:01‘ -d 库名 二进制文件
    
  2. 基于pos值
    mysqlbinlog --start-postion=107 --stop-position=1000 -d 库名 二进制文件
    

远程查看

  1. 指定开始/结束时间,并把结果重定向到本地t.binlog文件中.

    mysqlbinlog -u username -p password -hl-db1.dba.beta.cn6.qunar.com -P3306 --read-from-remote-server --start-datetime=‘2013-09-10 23:00:00‘ --stop-datetime=‘2013-09-10 23:30:00‘ mysql-bin.000001 > t.binlog
    
  2. 基于pos

讲解的更深点http://www.linuxidc.com/Linux/2014-09/107095.htm

MySQL数据恢复--binlog  http://www.linuxidc.com/Linux/2014-03/97907.htm

MySQL中binlog日记清理 http://www.linuxidc.com/Linux/2011-02/32017.htm

如何安全删除MySQL下的binlog日志 http://www.linuxidc.com/Linux/2013-06/86527.htm

MySQL--binlog日志恢复数据 http://www.linuxidc.com/Linux/2013-04/82368.htm

MySQL删除binlog日志及日志恢复数据的方法 http://www.linuxidc.com/Linux/2012-12/77072.htm

MySQL binlog三种格式介绍及分析 http://www.linuxidc.com/Linux/2012-11/74359.htm

MySQL 利用binlog增量备份+还原实例 http://www.linuxidc.com/Linux/2012-09/70815.htm

MySQL删除binlog日志及日志恢复数据 http://www.linuxidc.com/Linux/2012-08/67594.htm

时间: 2024-11-23 08:07:17

MySQL的binlog数据如何查看的相关文章

Window 下mysql binlog开启及查看

查看是否开启了binlog: win+r => cmd => 连接mysql=>show variables like 'log_%'; mysql> show variables like 'log_%'; +---------------------------------+-------------+ | Variable_name | Value | +---------------------------------+-------------+ | log_bin |

Window 下mysql binlog开启及查看,mysqlbinlog

查看是否开启了binlog: win+r => cmd => 连接mysql=>show variables like 'log_%'; mysql> show variables like 'log_%'; +---------------------------------+-------------+ | Variable_name | Value | +---------------------------------+-------------+ | log_bin |

mysql通过binlog日志来恢复数据

简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通过我们的备份文件来恢复,也只能恢复到 2016-11-19 09:30:00 这个时间点,而9.30分到10:30分这一个小时的数据恢复不了,这时候我们可以通过mysql的binlog日志来恢复没有备份到的这一小时的数据. 1.开启mysql的binlog日志(默认情况下没有开启) #vim /et

mysql通过binlog来恢复数据

mysql通过binlog来恢复数据  一.什么是binlog 1.binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中: 二进制日志的信息: 文件位置:默认存放位置为数据库文件所在目录下 文件的命名方式: 名称为hostname-bin.xxxxx (重启mysql一次将会自动生成一个新的binlog) 2.配置binlog,在配置文件my.cnf中设置,并重启mysql 3.状态的查看:mysql> show variab

【转】【MySQL】mysql 通过bin-log恢复数据方法详解

mysql中bin-log在mysql默认状态下是没有打开的,我们要先打开mysql 开启bin-log功能,然后再通过备份的bin-log进行数据库恢复了. 具体的操作是通过mysqlbinlog这个指令来完成的 /mysql/bin/mysqlbinlog --database=fox --start-date="2013-01-22 5:00:00" --stop-date="2013-01-22 9:00:00" /mysql/data/mysql-bin.

利用mysql的binlog恢复数据

MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与master同步. 1.开启binary log功能 需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的my.ini,添加一句log_bin = mysql_bin即可      eg:      [mysqld]            

Linux下面的mysql的bin-log恢复数据

转自:http://blog.sina.com.cn/s/blog_13dd6daa80102wbht.html 一.开启binlog日志: 编辑打开mysql配置文件my.cnf,在[mysqld]区块设置/添加 log-bin=mysql-bin  确认是打开状态(值 mysql-bin 是日志的基本名或前缀名),重启mysqld服务使配置生效.日志刷新命令:mysql> flush logs. 二.也可登录mysql服务器,通过mysql的变量配置表,查看二进制日志是否已开启 mysql>

Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一.初步了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. DDL-

mysql binlog row格式查看

MySQL 5.1开始,binlog支持row-based的格式,默认情况下只能看到一些经过base-64编码的信息,如 DELIMITER /*!*/; # at 7493962 #090827 5:25:03 server id 1 end_log_pos 0 Start: binlog v 4, server v 5.1.26-rc-community-log created 090827 5:25:03 BINLOG ' L6iVSg8BAAAAZgAAAAAAAAAAAAQANS4xL