1. MySQL的binlog有三种模式: statement, row and mixed, 从5.1开始支持row, 默认是row模式

2. 设置参数

# 要配置在mysqld下
[mysqld]
binlog_format=ROW

设置binlog过期清理时间 expire_logs_days

# Should be unique
server-id =
log-bin = master-bin
# The number of days for automatic binary log file removal
expire_logs_days =
# :log&flush per 1s; :log&flush per commit; :log per commit & flush per 1s
innodb_flush_log_at_trx_commit=
# The number of binary log commit groups to collect before sync to disk.
sync_binlog =

3. 查看binlog是否开启及其参数

mysql> show variables like 'log_bin%';
+---------------------------------+---------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------+
| log_bin | ON |
| log_bin_basename | /var/lib/mysql/master-bin |
| log_bin_index | /var/lib/mysql/master-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
+---------------------------------+---------------------------------+
5 rows in set (0.01 sec) mysql> show variables like 'binlog%';
+-----------------------------------------+--------------+
| Variable_name | Value |
+-----------------------------------------+--------------+
| binlog_cache_size | 32768 |
| binlog_checksum | CRC32 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_error_action | ABORT_SERVER |
| binlog_format | ROW |
| binlog_group_commit_sync_delay | 0 |
| binlog_group_commit_sync_no_delay_count | 0 |
| binlog_gtid_simple_recovery | ON |
| binlog_max_flush_queue_time | 0 |
| binlog_order_commits | ON |
| binlog_row_image | FULL |
| binlog_rows_query_log_events | OFF |
| binlog_stmt_cache_size | 32768 |
+-----------------------------------------+--------------+
13 rows in set (0.00 sec)

4. 查看服务器的binlog状态

mysql> show binary logs;
+-------------------+-----------+
| Log_name | File_size |
+-------------------+-----------+
| master-bin.000008 | 321270 |
| master-bin.000009 | 1026 |
| master-bin.000010 | 10103 |
| master-bin.000011 | 544150473 |
| master-bin.000012 | 4155620 |
| master-bin.000013 | 21550593 |
+-------------------+-----------+
6 rows in set (0.00 sec) mysql> show master logs;
+-------------------+-----------+
| Log_name | File_size |
+-------------------+-----------+
| master-bin.000008 | 321270 |
| master-bin.000009 | 1026 |
| master-bin.000010 | 10103 |
| master-bin.000011 | 544150473 |
| master-bin.000012 | 4155620 |
| master-bin.000013 | 21550593 |
+-------------------+-----------+
6 rows in set (0.00 sec) mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000013 | 21551221 | | | |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

5. 查看binlog内容

# 查看指定binlog文件的内容语法:
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]

例如

mysql> show binlog events limit 0, 5;
+-------------------+-----+----------------+-----------+-------------+------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+-------------------+-----+----------------+-----------+-------------+------------------------------------------+
| master-bin.000008 | 4 | Format_desc | 1 | 123 | Server ver: 5.7.14-log, Binlog ver: 4 |
| master-bin.000008 | 123 | Previous_gtids | 1 | 154 | |
| master-bin.000008 | 154 | Anonymous_Gtid | 1 | 219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| master-bin.000008 | 219 | Query | 1 | 290 | BEGIN |
| master-bin.000008 | 290 | Query | 1 | 385 | use `yic`; DELETE FROM `yic`.`u_session` |
+-------------------+-----+----------------+-----------+-------------+------------------------------------------+
5 rows in set (0.00 sec)
mysql> show binlog events in 'master-bin.000013' limit 0, 5;
+-------------------+-----+----------------+-----------+-------------+---------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+-------------------+-----+----------------+-----------+-------------+---------------------------------------+
| master-bin.000013 | 4 | Format_desc | 1 | 123 | Server ver: 5.7.14-log, Binlog ver: 4 |
| master-bin.000013 | 123 | Previous_gtids | 1 | 154 | |
| master-bin.000013 | 154 | Anonymous_Gtid | 1 | 219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| master-bin.000013 | 219 | Query | 1 | 290 | BEGIN |
| master-bin.000013 | 290 | Table_map | 1 | 373 | table_id: 111 (yic.u_session_log) |
+-------------------+-----+----------------+-----------+-------------+---------------------------------------+
5 rows in set (0.00 sec)

注意: 都是按时间正序排列.

6. 使用mysqlbinlog查看binlog

# 提取指定的binlog日志  (参数需要用绝对路径)
mysqlbinlog /opt/data/APP01bin.
# 根据位置提取
mysqlbinlog --start-position="" --stop-position="" /opt/data/APP01bin.
# 根据开始结束时间提取
mysqlbinlog --start-datetime="2014-12-15 20:15:23" --stop-datetime="2014-12-15 20:30:23" /opt/data/APP01bin. --result-file=extra02.sql
# 对多个binlog文件, 提取指定数据库, 并转换字符集
mysqlbinlog --database=test --set-charset=utf8 /opt/data/APP01bin. /opt/data/APP01bin. >test.sql
# 提取远程的binlog, 并输出到本地
mysqlbinlog -u someone -p -P3306 -h192.168.1. --read-from-remote-server -vv inst3606bin. >row.sql

mysqlbinlog 查看row模式的binlog

# 使用--base64-output=decode-rows -v参数, 就能看懂了
mysqlbinlog --base64-output=decode-rows -v /var/lib/mysql/master-bin.|more

MySQL的binlog操作的更多相关文章

  1. MySQL 利用SQL线程对Binlog操作

    背景: 对于MySQL的binlog的查看都是用其自带的工具mysqlbinlog进行操作的,其实还有另一个方法来操作binlog,就是Replication中的SQL线程去操作binlog,其实bi ...

  2. MySQL 利用SQL线程对Binlog操作(转)

    背景: 对于MySQL的binlog的查看都是用其自带的工具mysqlbinlog进行操作的,其实还有另一个方法来操作binlog,就是Replication中的SQL线程去操作binlog,其实bi ...

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

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...

  4. mysql关于binlog日志的操作

    查看binlog日志选项和存储位置: mysql> show variables like 'log_%'; 1.查看所有binlog日志列表 mysql> show master log ...

  5. Mysql使用binlog恢复数据解决误操作问题的两种方法

    为保证没有其他参数配置影响,重新安装配置了一台最小化安装的CentOS7虚拟机 1. 基础知识
 安装mysql5.6数据库Mysql binlog初步理解 2. 配置mysql 开启binlog.修 ...

  6. Mysql利用binlog日志恢复数据操作(转)

    a.开启binlog日志:1)编辑打开mysql配置文件/etc/mys.cnf[root@vm-002 ~]# vim /etc/my.cnf在[mysqld] 区块添加 log-bin=mysql ...

  7. 【转】Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...

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

    mysql中bin-log在mysql默认状态下是没有打开的,我们要先打开mysql 开启bin-log功能,然后再通过备份的bin-log进行数据库恢复了. 具体的操作是通过mysqlbinlog这 ...

  9. MySQL的binlog数据如何查看

    binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 ...

随机推荐

  1. RV32FD指令集

    Risc-V架构定义了可选的单精度浮点指令(F扩展指令集)和双精度浮点指令(D扩展指令集). Risc-V架构规定:处理器可以选择只实现F扩展指令子集而不支持D扩展指令子集:但是如果支持了D扩展指令子 ...

  2. Android ActionBar使用介绍

    一.什么是ActionBar 有图有真相,看一下图片就了解的差不多了 对于大多数应用,操作栏可以分割为 4 个不同的功能区域. 1. 应用图标 应用图标是您应用的标志.在应用图标位置摆放您自己的 lo ...

  3. linux和windows时间同步问题(UTC&localtime)

    Linux使用 UTC,但是windows默认使用localtime.解决的办法如下(重启后生效). 进入windows使用regedit写入DWORD值(设置成十六进制"1"): ...

  4. [PowerShell Utils] Automatically Change DNS and then Join Domain

    I would like to start a series of blog posts sharing PowerShell scripts to speed up our solution ope ...

  5. Building LinkedIn’s Real-time Activity Data Pipeline

    转自:http://blog.163.com/guaiguai_family/blog/static/20078414520138911393767/ http://sites.computer.or ...

  6. 使用 Edit + MASM 5.0 编译器 + Linker 连接器

    其实这种方式是很简单的,只是很麻烦,因为简单而且麻烦, 所以我采用尽可能的将截图传上来,然后稍加注解的方式进行介绍, 软件准备: 需要 MASM 5.0 或者以上的汇编编译器 首先,是要编辑汇编源代码 ...

  7. 强制开启android webview debug模式使用Chrome inspect

    强制开启android webview debug模式使用Chrome inspect https://blog.csdn.net/zhulin2609/article/details/5143782 ...

  8. 转: 使用MinGW + Eclipse CDT进行C++开发的配置方法

    使用MinGW + Eclipse CDT进行C++开发的配置方法 1 2 3 4 5 6 分步阅读 Eclipse作为开源的IDE,可以用来高效开发Java.C++.C等程序.本文介绍如何在Wind ...

  9. 转: Centos安装gcc及g++

    Centos安装gcc及g++   Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户. 按照这个思路,我想安装过程如下: 安装gcc ...

  10. 自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,"掏粪男孩Gif"顺便再提提onWindowFocusChanged)

    转载请注明出处:王亟亟的大牛之路 之前在绘画的过程中提到了静态的旋转啊,缩放啊,平移等一些效果.那么自己定义的View当然也有动态的效果也就是我们的Animation.经常使用的有三种 View An ...