---
title: "Binlog 模式介绍 | OceanBase 文档中心"
description: Binlog 模式介绍 Binlog 模式为兼容 MySQL binlog 而诞生，支持现有的 MySQL binlog 生态工具来同步 OceanBase。现有的 MySQL binlog 生态工具可以平滑切换至 OceanBase 数据库。 Binlog 模式与 MySQL 5.7 版本保持一致，具备相同的功能：…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*qvvxQ5-hqEoAAAAAAAAAAAAADiGDAQ/original) OceanBase Binlog 服务V 2.0.1 社区版

# Binlog 模式介绍

更新时间：2024-11-13 15:06:14

[编辑](https://github.com/oceanbase/oblogproxy-doc/edit/V2.0.1/zh-CN/400.binlog-mode/100.binlog-intro.md)  

Binlog 模式为兼容 MySQL binlog 而诞生，支持现有的 MySQL binlog 生态工具来同步 OceanBase。现有的 MySQL binlog 生态工具可以平滑切换至 OceanBase 数据库。

Binlog 模式与 MySQL 5.7 版本保持一致，具备相同的功能：

- 支持 Position 模式订阅。在 Position 模式下，订阅方基于指定的 binlog 文件名和偏移量，也称为 binlog position，在这种模式下，订阅是基于物理位置的。
 - 支持 GTID 模式订阅，GTID（Global Transaction ID，全局事务 ID）是一种用于唯一标识和追踪分布式环境中事务的机制。在 GTID 模式下，每个事务都有一个唯一的全局事务 ID，不受 binlog 文件的变化和偏移量的影响，在这种模式下，订阅是基于逻辑位置的。

## 基本原理

鉴于 OceanBase 是分布式架构，Binlog 模式与 MySQL binlog 的设计实现并不相同，因此下文为 Binlog 模式架构进行简单介绍，以便您可以更好地认识和理解 Binlog 模式。

首先，介绍您在使用 Binlog 模式时需要知道的一些名词解释。

- OceanBase 数据库：OceanBase 数据库集群。
 - OBProxy：OceanBase 的访问代理，SQL 和 binlog 协议及相关命令通过 OBProxy 作为统一入口进行访问。
 - oblogproxy：OceanBase 增量日志代理服务。
 - MySQL binlog 生态工具：泛指 MySQL binlog 增量解析工具，如常见的 Canal 和 Flink-CDC 等。
 - bc：oblogproxy 中 binlog converter 子模块，拉取并解析 clog，再按照 binlog 格式转换为 binlog 文件。
 - bd：oblogproxy 中 binlog dumper 子模块，对下游（MySQL binlog 生态工具）的订阅请求提供 binlog 订阅服务。
 - bcm：oblogproxy 中 bc 的管理模块。
 - bdm：oblogproxy 中 bd 的管理模块。

### 基本架构

![img.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oblogproxy/binlog.jpg)

### bc

![img.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oblogproxy/bc.png)

### bd

![img.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oblogproxy/bd.png)

由上图可以看出，Binlog 模式需要与 OceanBase 数据库（需配置 `obconfig_url`）和 OBProxy 来一起配合使用，主要分为以下几个步骤：

- 第一步，oblogproxy 启动后需要发送一条 SQL 命令来创建 binlog service（图中为 create binlog service），oblogproxy 收到命令后，会启动 bc 模块用于拉取 OceanBase clog 并将其转换为 binlog 格式，转换后将其写入到文件，即 binlog 文件。
 - 第二步，MySQL binlog 生态工具（图中为 Canal 或 Flink-CDC）发起 binlog 订阅请求到 OBProxy，OBProxy 收到 binlog 订阅请求后将其转发至 oblogproxy。
 - 第三步，oblogproxy 接收到 OBProxy 转发的 binlog 订阅请求后启动 bd 模块，bd 模块启动后读取 binlog 文件并对外提供订阅服务，即 binlog dump 服务。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
