---
title: "使用 Maxwell 读取 OceanBase 数据 - OceanBase 数据库 V4.3.2 | OceanBase 文档中心"
description: 使用 Maxwell 读取 OceanBase 数据 Maxwell 是一个读取 MySQL Binlog 并将其转换成 JSON 格式输出的应用程序。它旨在捕获数据库中的所有数据更改事件。本文介绍使用 Maxwell 将 OceanBase 数据库 MySQL 租户的数据输出为 JSON 格式的数据。 前提条件 在…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.2

# 使用 Maxwell 读取 OceanBase 数据

更新时间：2024-10-10 21:40:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.2/zh-CN/680.ecological-integration/400.data-ingestion/1500.maxwell.md)  

Maxwell 是一个读取 MySQL Binlog 并将其转换成 JSON 格式输出的应用程序。它旨在捕获数据库中的所有数据更改事件。本文介绍使用 Maxwell 将 OceanBase 数据库 MySQL 租户的数据输出为 JSON 格式的数据。

## 前提条件

在使用 Maxwell 之前，确认以下信息：

- 您已安装 oblogproxy。更多信息，参考 [安装 oblogproxy 文档](https://www.oceanbase.com/docs/community-oblogproxy-doc-1000000000438540)。
 - 您已安装 Java 1.8 或更高版本。
 - 您已下载 Maxwell。更多信息，参考 Maxwell [GitHub 项目](https://github.com/zendesk/maxwell/releases)。

## 操作步骤

1. 配置 Maxwell。 编辑 Maxwell 目录下的 `config.properties` 文件。如果没有该文件，则复制 `config.properties.example` 为 `config.properties` 并编辑。

   ```yml
   user=maxwell
   password=yourpassword
   host=源 OceanBase 数据库 MySQL 服务器地址
   producer=stdout

   ```

   此配置将 Maxwell 设置为将事件直接输出到标准输出（控制台）。要将数据发送到 Kafka 等其他目标，您需要更改 producer 属性及相关的配置。
 2. 启动 Maxwell。

   通过下面的命令来启动 Maxwell：

   ```shell
   bin/maxwell --config config.properties

   ```
 3. 查看数据变更 在 OceanBase 数据库 数据库中进行数据更改（如插入、更新、删除数据），然后观察 Maxwell 输出的 JSON 数据。步骤 3 命令将 Maxwell 的输出设置为标准输出（stdout）。可能返回的结果如下：

   ```shell
    {
    "database": "mydb",
    "table": "mytable",
    "type": "insert",
    "ts": 1589372847,
    "xid": 12345678,
    "commit": true,
    "data": {
        "id": 1,
        "column1": "value1",
        "column2": "value2"
    }
    }

   ```

   返回结果表明向 `mydb.mytable` 表执行插入操作。

#### 注意

OceanBase 数据库 从 V4.1.0 支持拉丁字符集。如果您将 OceanBase 数据库 作为 Maxwell 的元数据库，且使用的是 V4.1.0 之前的版本，您需要手动构建 Maxwell 的元数据表。

例如，此处删除了 Maxwell 建表语句中的 latin1 字符集。

```sql
CREATE TABLE IF NOT EXISTS `databases` (
  id        bigint auto_increment NOT NULL primary key,
  schema_id bigint,
  name      varchar(255) charset 'utf8',
  charset   varchar(255),
  index (schema_id)
);

```

为方便起见，本文仅提供了单表示例。请针对其他元数据表执行相同操作。

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