我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤

这篇文章主要介绍了MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、构造这样的binlog

# at 4
#190825  0:01:37 server id 953340  end_log_pos 123 CRC32 0x9409b3c9     Start: binlog v 4, server v 5.7.22-22-debug-log created 190825  0:01:37
# Warning: this binlog is either in use or was not closed properly.
BINLOG '
YV9hXQ/8iw4AdwAAAHsAAAABAAQANS43LjIyLTIyLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AcmzCZQ=
';
# at 123
#190825  0:01:37 server id 953340  end_log_pos 234 CRC32 0x483a41ac     Previous-GTIDs
# 010fde77-2075-11e9-ba07-5254009862c0:16-40,
# cb7ea36e-670f-11e9-b483-5254008138e4:94-104
# at 234
#190724 14:07:36 server id 413340  end_log_pos 299 CRC32 0x9294741b     GTID    last_committed=0        sequence_number=1       rbr_only=yes
;
SET @@SESSION.GTID_NEXT= 'cb7ea36e-670f-11e9-b483-5254008138e4:105';
# at 299
#190724 14:07:36 server id 413340  end_log_pos 362 CRC32 0x23ecd791     Query   thread_id=5     exec_time=2714050       error_code=0
SET TIMESTAMP=1563948456;
SET @@session.pseudo_thread_id=5;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1;
SET @@session.sql_mode=524288;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
;
SET @@session.character_set_client=83,@@session.collation_connection=83,@@session.collation_server=33;
SET @@session.lc_time_names=0;
SET @@session.collation_database=DEFAULT;
BEGIN
;
# at 362
#190724 14:07:36 server id 413340  end_log_pos 414 CRC32 0x65673dab     Table_map: `testmts`.`testwq` mapped to number 110
# at 414
#190724 14:07:36 server id 413340  end_log_pos 454 CRC32 0xa368ded1     Write_rows: table id 110 flags: STMT_END_F
BINLOG '
qPU3XROcTgYANAAAAJ4BAAAAAG4AAAAAAAEAB3Rlc3RtdHMABnRlc3R3cQABAwABqz1nZQ==
qPU3XR6cTgYAKAAAAMYBAAAAAG4AAAAAAAEAAgAB//4KAAAA0d5oow==
';
# at 454
#190724 14:07:36 server id 413340  end_log_pos 485 CRC32 0x40df9d14     Xid = 44
COMMIT;

这个binlog是从库的binlog,Event header timestamp如下:

  • FORMAT_DESCRIPTION_EVENT:190825  0:01:37

  • PREVIOUS_GTIDS_LOG_EVENT:190825  0:01:37

以上两个Event都是从库binlog自己生成当然就是本实例的时间。

  • GTID_LOG_EVENT:190724 14:07:36

  • QUERY_EVENT:190724 14:07:36

  • MAP_EVENT:190724 14:07:36

  • WRITE_EVET:190724 14:07:36

  • XID_EVENT:190724 14:07:36

他们都是主库语句命令发起的时间。

如果这个时候我们使用stop-datetime=‘2019-07-25 00:00:00’ 不会解析到这个事务。原因在于FORMAT_DESCRIPTION_EVENT的时间超过了这个时间直接退出了。

源码如下:

MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤

debug如下:
MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤

感谢你能够认真阅读完这篇文章,希望小编分享的“MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中从库binlog如何使用mysqlbinlog stop-datetime过滤

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 中使用 LIKE 语句时如何安全过滤后参数?

like 语句后参数不够安全如何安全过滤?在 mysql 查询中使用 like 语句时,如果后跟的参数直接拼接,可能会导致 sql 注入攻击。因此,需要对特殊字符(如 % 和 _)进行过滤处理以确保查询的安全性。过滤方法要过滤 % 和
MySQL 中使用 LIKE 语句时如何安全过滤后参数?
2024-10-24

如何使用SQL语句在MySQL中进行数据过滤和条件查询?

如何使用SQL语句在MySQL中进行数据过滤和条件查询?MySQL作为一种常用的数据库管理系统,广泛用于存储和管理大量数据。在实际应用中,我们常常需要根据特定的条件查询数据,以满足各种需求。本文将介绍如何使用SQL语句在MySQL中进行数据
如何使用SQL语句在MySQL中进行数据过滤和条件查询?
2023-12-18

Mysql数据库如何使用DELETE语句从数据库表中删除数据(数据库数据删除)

目录数据库数据删除:使用DELETE语句从数据库表中删除数据DELETE语句简介使用示例注意事项和最佳实践1. 慎重使用无条件删除2. 使用事务进行删除操作3. 使用合适的索引4. 谨慎使用DELETE CASCADE5. 定期备份数据结论
Mysql数据库如何使用DELETE语句从数据库表中删除数据(数据库数据删除)
2024-08-12

如何在Python中使用ORM框架操作MySQL数据库?(Python环境下如何通过ORM框架管理MySQL数据库?)

对象关系映射(ORM)框架简化了Python程序员与关系数据库(如MySQL)的交互,让他们专注于业务逻辑,无需管理SQL语句和数据库连接。适用于Python的流行ORM框架包括SQLAlchemy、DjangoORM、Peewee和PonyORM。通过这些框架,开发人员可以轻松插入、查询和更新MySQL数据库中的数据。ORM框架的优势包括提高开发效率、代码可维护性和安全性,并提供跨平台支持。
如何在Python中使用ORM框架操作MySQL数据库?(Python环境下如何通过ORM框架管理MySQL数据库?)
2024-04-02

编程热搜

目录