mysql binlog笔记
概要
在大数据时代,数据研发人员总是想把各类数据采集到我们的数据仓库。最典型的方案是日志收集方案: flume采集文件,转发到kafka,再使用storm、spark写到hdfs。但是实际场景中,我们的数据源不止文件,还有mysql这类db数据。
众所周知,mysql是可以开启binlog的,也就是说我们对db的每个操作都可以通过binlog解析得到。所以我们实时解析mysql的binlog文件,即可实时获取到db的各个变更事件,就可以实时地将insert的数据,像tail日志文件一样,以规范化的形式发送到我们后端的消息中间件。
注意点
binlog row模式
最需要支持的点:
mysql必须支持binlog,且必须是row模式。需要关注几个问题:
1.row模式的binlog是远大于其他模式,需要注意磁盘容量
2.从其他模式binlog(如mix)改为row模式,需要断开已有mysql的连接,需要dba及相关业务开发评估可行性。
3.不需要采集的库表要独立出去,不然大量无关binlog会影响采集器的性能,堵塞通道。(需要推动业务改)
4.row模式下日志变多,还有从库解析方式发生变化,可能会造成主从不一致(状态延迟)的情况,需要dba确认
支持的语句
不支持DDL,只是inset最好,就类似文件的append。update、delete都会增加后端的处理逻辑。
事务支持
本身就是用于大数据处理的,不支持事务
字段问题
建议末尾追加字段,只用简易字段(int,string)
总结
binlog方案技术上没什么特别难点,重点还是运营的坑比较多
参考资料:
https://blog.csdn.net/u013128262/article/details/80040310
mysql binlog笔记相关推荐
- mysql 日志节点恢复_基于binlog二进制日志的MySQL恢复笔记
基于binlog二进制日志的MySQL恢复笔记 刚好复习到这里,顺手做个小实验,记录下. 总的操作流程: step0.关掉数据库的对外访问[防止用户操作继续写入这个库] step1.mysqlbinl ...
- MySQL学习笔记(1)——高可用组复制
MySQL学习笔记(1)--高可用组复制 积土成山,风雨兴焉.积水成渊,蛟龙生焉. 一.概念 组复制(MySQL Group Replication,MGR)是MySQL官方在MySQL 5.7.17 ...
- mysql binlog协议_mysql binlog协议分析--具体event
这几天在修改canal, 连接mysql和maria接收到的event有所区别 拿一个简单的insert sql来举例 mysql 会有以下几个event写入到binlog里 1.ANONYMOUS_ ...
- JavaEE 企业级分布式高级架构师(六)MySQL学习笔记(6)
MySQL学习笔记 性能优化篇 性能优化的思路 慢查询日志 慢查询日志介绍 开启慢查询功能 演示一 演示二 分析慢查询日志 MySQL自带的mysqldumpslow 使用percona-toolki ...
- MySQL 学习笔记②
若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/BV1Kr4y1i7ru 资料链接 ...
- 数据库MySQL学习笔记高级篇(周阳)
数据库MySQL学习笔记高级篇 1. mysql的架构介绍 mysql简介 高级Mysql mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化 ...
- 字节跳动内部 MySQL 学习笔记火了,完整版开放下载!
最近很多小伙伴找我要一些 MySQL 基础资料,于是我翻箱倒柜,把这份阿里大牛总结的 MySQL 归纳笔记找出来,免费共享给大家! 据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资 ...
- Mysql binlog日志及binlog恢复数据库操作
初识MySQL 日志binlog MySQL重要log,二进制日志文件,记录所有DDL和DML语句(除select),事件形式记录,包含语句所执行的消耗时间,事务安全型. DDL(数据库定义语言),主 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...
最新文章
- 【Java】Linux下安装配置Oracle JDK 1.7版本
- Nat. Rev. Neurol. | 机器学习在神经退行性疾病诊断和治疗中的应用
- 为什么每个函数都要测试
- 简易mysql优化_优化 MySQL:简单三个技巧
- MySQL8.0允许外部访问
- 模拟太阳系的html,纯HTML5制作的震撼太阳系网页
- testng教程_TestNG教程
- 北京黑马程序员javaEE第19期课程
- Hadoop环境搭建 MYSQL环境配置
- mysql 特殊符号_mysql 特殊字符问题
- 中文简繁转换项目 OpenCC
- 当复制Web浏览器的SVN地址到TorioseSVN上时显示错误,无法解析URL
- Pokémon Army (easyversion) -每天一把CF - 20201007
- [深度学习] (sklearn)多层感知机对葡萄酒的分类
- signature=0e936ad5c99bd8d603e71fa74e787bee,JavaScript 的 BASE64 算法 实现 完美解决中文乱码...
- Soft-Clipping Mish激活函数
- SD-RTN——毫秒级网络加速带来全新的体验
- sgu 187 Twist and whirl - want to cheat 伸展树(splay)
- ZMQ 完全指南--让你跟快捷的进入状态
- 善用产业大数据平台,赋能产业数字化转型升级