---
title: "使用 CDC 模式 | OceanBase 文档中心"
description: 使用 CDC 模式 本文介绍如何使用 CDC 模式。 前提条件 在使用 CDC 模式功能前，需要确认 OceanBase 版本信息，请参考 产品发布记录 。 配置 oblogproxy 下面的操作均在 oblogproxy 项目目录中进行，oblogproxy 项目目录默认为 /usr/local/oblogprox…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 使用 CDC 模式

更新时间：2024-07-11 14:26:24

[编辑](https://github.com/oceanbase/oblogproxy-doc/edit/V2.0.0/zh-CN/500.cdc-mode/300.cdc-use.md)  

本文介绍如何使用 CDC 模式。

## 前提条件

在使用 CDC 模式功能前，需要确认 OceanBase 版本信息，请参考 [产品发布记录](https://www.oceanbase.com/docs/community-oblogproxy-doc-1000000000532018) 。

## 配置 oblogproxy

下面的操作均在 oblogproxy 项目目录中进行，oblogproxy 项目目录默认为 `/usr/local/oblogproxy`。

oblogproxy 的配置文件默认放在 `conf/conf.json`。

需修改 `conf/conf.json` 的如下配置：

```shell
"ob_sys_username": ""
"ob_sys_password": ""

```

（可选项）oblogproxy 需要配置用户的用户名和密码，用户必须是 OceanBase 的 sys 租户的用户才能连接。

#### 注意

此处的用户名不应包含集群名称或租户名称，且必须具备 sys 租户下 OceanBase 数据库的读权限。

首先，获取加密的用户名和密码。

```bash
./bin/logproxy -x username
./bin/logproxy -x password

```

然后将结果分别保存到 `conf/conf.json` 文件的 `ob_sys_username` 和 `ob_sys_password` 配置项。

有关于 oblogproxy 配置的详细介绍，可参考 [oblogproxy 配置](https://www.oceanbase.com/docs/community-oblogproxy-doc-1000000000438536)。

## 运行 oblogproxy

### 启动 oblogproxy 服务

先进入 oblogproxy 项目目录默认为 `/usr/local/oblogproxy`。

```shell
cd /usr/local/oblogproxy

```

再通过以下命令启动服务。

```shell
./run.sh start

```

### 使用 oblogclient 订阅

在使用之前，您需要确定自己是否安装了 Maven 依赖。

```java
<dependency>
  <groupId>com.oceanbase</groupId>
  <artifactId>oblogclient-logproxy</artifactId>
  <version>x.y.z</version>
</dependency>

```

您可参考下文编写代码：

```java
ObReaderConfig config = new ObReaderConfig();
// 设置 OceanBase root server 地址列表，格式为（可以支持多个，用';'分隔）：ip1:rpc_port1:sql_port1;ip2:rpc_port2:sql_port2
config.setRsList("xxx.xxx.xxx.1:2882:2881;xxx.xxx.xxx.2:2882:2881");
// 设置用户名和密码（非系统租户）
config.setUsername("r***");
config.setPassword("****");
// 设置启动位点（UNIX 时间戳，单位 s），0 表示从当前时间启动。
config.setStartTimestamp(0L);
// 设置订阅表白名单，格式为：tenant.db.table, '*'表示通配。
config.setTableWhiteList("sys.*.*");

// 指定 oblogproxy 服务地址，创建实例。
LogProxyClient client = new LogProxyClient("xxx.xxx.xxx.1", 2983, config);
// 添加 RecordListener
client.addListener(new RecordListener() {
    @Override
    public void notify(LogMessage message){
        // 处理消息
    }

    @Override
    public void onException(LogProxyClientException e) {
        // 处理错误
        if (e.needStop()) {
            // 不可恢复异常，需要停止 Client
            client.stop();
        }
    }
});

// 启动
client.start();
client.join();

```

有关于 oblogclient 相关的信息，请参考 [oblogclient](https://github.com/oceanbase/oblogclient)。

 上一篇 下一篇 ![有帮助](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) 咨询热线
