1 概述

1.1 版本

服务器版本
v7.3.0及之后版本

1.2 说明

本章节主要介绍如何为 MySQL 数据库开启 Binlog 模式 CDC 功能,CDC 即数据变更抓取,通过为源端数据源开启CDC,可实现数据源的实时数据同步。

2 配置步骤

2.1 确认数据库版本

当前仅支持MySQL5.6及以上版本的数据库,确认当前数据库版本是否为实时同步任务所支持的版本。

2.2 开启Binlog日志

实时同步MySQL的读取方式是Binlog,因此,需要提前为数据库开启Binlog。
先检查是否开启log_bin,方式如下:

show variables like 'log_%';

查看结果,打开:ON ,关闭:OFF
如果没有打开,在mysql配置文件中进行配置:

server-id         = 2 #对于 MySQL 集群中的每个服务器和复制客户端的值必须是唯一的
log_bin           = mysql-bin #logbin的文件
binlog_format     = ROW
binlog_row_image  = FULL
binlog_expire_logs_seconds  = 864000 # 自动删除二进制日志文件的秒数 ,默认值30

配置完后需要重启MySQL服务。
输入show variables like ‘log_%’查看日志是否开启,如果 log_bin 的值为 on,则表示日志已开启。

再输入show variables like ‘binlog_%’查看 binlog_row_image 及 binlog_format 值是否分别为 FULL、ROW。

2.3 给指定账号开启权限

MySQL 用户,该用户对 MySQL CDC 连接器监视的所有数据库都应该具有所需的权限。
1、检查用户权限
可以使用“show grants for 用户名”来确定复制状态。
如果返回值中没有 replication client 和 replication slave 则需要开启复制权限。
2、为用户授予权限
向用户授予所需的权限:

mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user';

以上语句中的关键词说明如下:

关键词 说明
SHOW DATABASES 连接器能够通过发出语句来查看数据库名称,这仅在执行快照时使用
REPLICATION SLAVE 使连接器能够连接到并读取 MySQL 服务器二进制日志
REPLICATION CLIENT 允许连接器使用以下语句:
1)SHOW>SHOW MASTER STATUS
2)SHOW SLAVE STATUS
3)SHOW BINARY LOGS

3、刷新用户权限
刷新用户权限使用以下语句:

mysql> FLUSH PRIVILEGES;
作者:fancy  创建时间:2025-01-06 10:43
最后编辑:fancy  更新时间:2025-03-27 15:47