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
最后编辑:fancy 更新时间:2025-03-27 15:47
