1.Binlog介绍与原理
1.1 介绍
![]()
Binlog在TiDB5.0后逐渐被TiCDC替代。
1.2 原理

pump存储自己接收的binlog,并且按照日志的时间顺序进行排序。
pump是一个集群,都能接收binlog,所有的pump会集中到一个Drainer,并且在drainer中进行排序。
Drainner支持将Binlog同步到Mysql,TiDB,Kafka或者本地文件中。
1.3 Binlog格式

注意:
TiDB Binlog格式与Mysql Binlog的Row格式类似。
Binlog记录的是数据的增删改,是按照事务的提交时间记录的,顺序也是按提交顺序记录的,只会事务提交记提交的。
binlog的特点是只有提交了,才会有记录。
TiDB Binlog是异步复制。
1.4 Binlog支持的下游系统

2.pump

3.drainer

4.binlogctl

TSO:时间戳。

4.1 常用的Binlogctl命令


5.使用TiUP部署TiDB Binlog

5.1 启动前准备
![]()
5.2 Binlog的启动
5.2.1 pump

5.2.2 drainer

6. Binlog集群的监控


7.随堂练习
(1)

答案:BE
解析:binlog是按照事务的提交时间有序记录的;未提交的事务一定不会出现在binlog中,与Mysql数据库中的row格式类似,Tidb的binlog默认是关闭的。
(2)

答案:ACD
解析:Pump组件负责存储自己接收的Binlog,而且还要完成排序。Drainer组件需要对事务进行归并排序,TiDB Binlog是异步复制,TiDB Binlog在Tidb 5.0 中部分功能不兼容。