mysqlbinlog读懂binlog
binlog 报unknown variable 'default-character-set=utf8'
方法1: 在/etc/my.cnf 中将default-character-set=utf8修改成charater-set-server=utf8
方法2:
mysqlbinlog --no-defaults mysql-bin.000001
SHOW SLAVE STATUS:
1) The position, ON THE MASTER, from which the I/O thread is reading: Master_Log_File/Read_Master_Log_Pos. —–相对于主库,从库读取主库的二进制日志的位置,是IO线程
2) The position, IN THE RELAY LOGS, at which the SQL thread is executing: Relay_Log_File/Relay_Log_Pos —-相对于从库,是从库的sql线程执行到的位置
3) The position, ON THE MASTER, at which the SQL thread is executing:Relay_Master_Log_File/Exec_Master_Log_Pos —-相对于主库,是从库的sql线程执行到的位置
读懂binlog日志:
binlog-format=ROW模式下:
1、提取sakila库的binlog日志
mysqlbinlog -d sakila --base64-output=decode-rows -v binlog.000008 >/tmp/test.sql
2、提取sakila库下actor表的binlog日志
mysqlbinlog -d sakila --base64-output=decode-rows -v binlog.000008|grep actor
mysqlbinlog -d sakila --base64-output=decode-rows -v mysql-bin.000008|grep -C 10 actor> /tmp/actor.txt
###grep -A -B -C 后面都跟阿拉伯数字
-A是显示匹配后和它后面的n行。
-B是显示匹配行和它前面的n行。
-C是匹配行和它前后各n行。
-C覆盖面最大,这3个开关都是关于匹配行的上下文的(context
###
筛选UPDATE
cat /tmp/actor.txt |grep -C 10 UPDATE > /tmp/actor_update.txt
3、提取sakila库下INSERT操作的binlog日志
mysqlbinlog -d sakila --base64-output=decode-rows -v binlog.000008|grep insert
4、提取指定时间段的binlog日志
mysqlbinlog --base64-output=decode-rows -v --start-datetime='2016-01-04 15:10:00' --stop-datetime='2016-01-04 15:11:00' binlog.000008 >/tmp/test.sql
提取指定position位置的binlog日志
mysqlbinlog --base64-output=decode-rows -v --start-position='398' --stop-position='617' binlog.000008 >/tmp/test.sql
5、提取指定position位置的binlog日志并输出到压缩文件
mysqlbinlog --start-position="6088" --stop-position="9832" binlog.000008 |gzip >test.sql.gz
6、提取指定position位置的binlog日志导入数据库
mysqlbinlog --start-position="120" --stop-position="332" binlog.000008 | mysql -uroot -p
7、提取指定开始时间的binlog并输出到日志文件
mysqlbinlog --start-datetime="2018-12-15 20:15:23" binlog.000008 --result-file=test.sql
8、提取指定位置的多个binlog日志文件
mysqlbinlog --start-position="120" --stop-position="332" binlog.000008 binlog.000008|more
9、提取指定数据库binlog并转换字符集到UTF8
mysqlbinlog --database=test --set-charset=utf8 binlog.000008 binlog.000008 >test.sql
10、远程提取日志,指定结束时间
mysqlbinlog -uroot -p -h10.168.10.11 -P3306 --stop-datetime="2014-12-15 20:30:23" --read-from-remote-server mysql-bin.000033 |more
11、远程提取使用row格式的binlog日志并输出到本地文件
mysqlbinlog -uroot -p -P3606 -h10.168.10.11 --read-from-remote-server -vv binlog.000008 >test.sql
mysqlbinlog读懂binlog的更多相关文章
- mysqlbinlog 工具分析binlog日志
MySQL的binlog 日志对于生产环境非常有用,任何时间对数据库的修改都会记录在binglog中:当数据发生增删改,创建数据库对象都会记录到binlog中,数据库的复制也是基于binlog进行同步 ...
- 读懂UI设计的心理学
好文转载,版权归原作者 作为UI设计师,对待用户就像对待婴儿,知道如何通过界面设计诱导用户非常重要,这就需要了解心理学方面的知识了.今天分享一篇日本设计师的好文,结合心理学与设计,教你读懂心理学,提高 ...
- 一文读懂UGC:互联网上的生态秘密
转载自近乎: UGC(User- Generated Content)用户原创生产内容,它是相对于PGC(Professionally-produced Content)专业生产内容的一种内容来源,简 ...
- 读懂IL代码就这么简单(三)完结篇
一 前言 写了两篇关于IL指令相关的文章,分别把值类型与引用类型在 堆与栈上的操作区别详细的写了一遍 这第三篇也是最后一篇,之所以到第三篇就结束了,是因为以我现在的层次,能理解到的都写完了,而且个人认 ...
- 读懂IL代码就这么简单(二)
一 前言 IL系列 第一篇写完后 得到高人指点,及时更正了文章中的错误,也使得我写这篇文章时更加谨慎,自己在了解相关知识点时,也更为细致.个人觉得既然做为文章写出来,就一定要保证比较高的质量,和正确率 ...
- 读懂IL代码就这么简单 (一)
一前言 感谢 @冰麟轻武 指出文章的错误之处,现已更正 对于IL代码没了解之前总感觉很神奇,初一看完全不知所云,只听高手们说,了解IL代码你能更加清楚的知道你的代码是如何运行相互调用的,此言一出不明觉 ...
- 一张图读懂https加密协议
搭建CA服务器和iis启用https:http://blog.csdn.net/dier4836/article/details/7719532 一张图读懂https加密协议 https是一种加密传输 ...
- Gradle学习系列之三——读懂Gradle语法
在本系列的上篇文章中,我们讲到了创建Task的多种方法,在本篇文章中,我们将学习如何读懂Gradle. 请通过以下方式下载本系列文章的Github示例代码: git clone https://git ...
- 如何快速读懂大型C++程序代码
要搞清楚别人的代码,首先,你要了解代码涉及的领域知识,这是最重要的,不懂领域知识,只看代码本身,不可能搞的明白.其次,你得找各种文档:需求文档(要做什么),设计文档(怎么做的),先搞清楚你即将要阅读是 ...
随机推荐
- getchar、putchar、puts、gets
getchar(字符) 输入获取一个字符 putchar(字符) 输出控制台一个字符 scanf()格式化输入 printf() 格式化输出 gets(arr) 输入一个字符串给已经声明的数组ar ...
- gorpeln的个人博客 - gorpeln
2019-10-18 App Store 审核指南 2019-10-03 锚点跳转距离顶部指定距离 2019-09-23 Jekyll 简单加密 (pwd=123456) 2019- ...
- Site error: the ionCube PHP Loader needs to be installed.解决办法
问题描述: 有些模块的作者为了保护代码而采用ionCube加密的代码,所以这里必须给服务器装上这个php的扩展,就好像以前的zend一样 解决办法: http://bbs.52jscn.com/thr ...
- OC(构造函数,分类等知识总结)
文章来源:http://my.oschina.net/luoguankun/blog/219532 一.成员变量的作用域 · @public · 在任何地方都能直接访问对象 ...
- python基础操作---string
#coding:utf-8 var1 = 'Hello World!' print var1[::] print len(var1) print var1[0:len(var1)] print var ...
- 利用描述符自定义property
class Lazyproperty: def __init__(self,func): #传的func函数是被描述的类中的函数属性 self.func = func def __get__(self ...
- oracle汇编01
1: / define numeric label "1"one: / define symbolic label "one"/ ... assembler c ...
- react:如何创建一个新项目
如何用react创建一个新的项目 我们打开react官网:https://reactjs.org/docs/create-a-new-react-app.html 看到以下命令 npx create- ...
- 移动端适配 rem
前置知识: 物理像素(physical pixel,device pixel) 物理像素(设备像素),显示设备中一个最微小的物理部件.每个像素可以根据操作系统设置自己的颜色和亮度. 设备独立像素(de ...
- 前端之JQuery:JQuery文档操作
jquery之文档操作 一.相关知识点总结1.CSS .css() - .css("color") -> 获取color css值 - .css("color&qu ...