mysqlbinlog读懂binlog

摘要:
-C是匹配线,前后有n行。

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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Sqlserver存储过程及其创建(转)微信小程序上传图片 并和文字一起提交 (有接口)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

元素跟随着滚动条运动

有这种情况,页面中的某些元素需要跟随滚动条运动,位置一直在页面中的某个位置; 思路: 当页面滚动的时候,一直获取滚动条距离顶部的距离,当顶部的距离等于某个数值的时候,直接开始改变这个元素的position的值为fixed,不等于这个数值的时候为relative; 注意的是需要在html中写一个和这个元素一样的元素,不等于数值的这个元素为display:no...

JavaScript设置右下角悬浮窗

很多时候,我们需要设置一个dom节点到浏览器窗口的右下角。我们需要那个元素可以在窗口Scroll滚动或者变换大小resize的时候都可以保持浮动在那个位置。这个时候,我在网上看了看,发现很多框架什么啊,或者什么实例,看起来都弱爆了,看起来很复杂,但是直觉告诉我这个明显不是个麻烦事情,所以我自己看了看,终于知道了怎么用很少的代码来优雅的实现,下面列举用nat...

解决在 CSS 中,如何实现动态吸顶的样式/效果 ?

解决方法:使用 position: sticky 做了一个动态吸顶的效果: 举例如下: 1 未向上滚动页面之前: 2 向上滚动页面之后: 这样, “This is tab main”部分的元素,可以一直保持在页面窗口的顶部。 3 具体代码:这个使用的代码其实就是 position: sticky, top: xx (阀值)来实现的: 给想要实现吸顶效果的...

js 实现向下滑动页面时遇顶固定

达到的页面效果: html: <link href="http://t.zoukankan.com/Scripts/weui/reset.css" rel="stylesheet" /> <link href="http://t.zoukankan.com/Scripts/weui/calendar.css" rel="stylesh...

重温CSS:Border属性

边界是众所周知的,有什么新的东西吗?好吧,我敢打赌,在这篇文章中,有很多你不看永远不知道的东西! 不仅可以用CSS3来创建圆角,使用原有CSS一样可以显示自定义图形。这是正确的(有待考究);在过去,没发现这种技术之前,我们可能使用背景图像定位来显示一个园或箭头。幸运的是,我们能放下PS图象处理软件了。 基础 你可能很熟悉边的最基本用法。 1 borde...

微信小程序样式旋转

相关文档:http://www.w3school.com.cn/cssref/pr_transform.asp index.wxss文件 注意:如果是web前端,要注意浏览器的兼容性 .x1{ 46rpx;//元素的宽 height: 40rpx;//元素的高 top: 82rpx;//元素距离顶部的距离 left:315rpx;//元素距离左边的距离...