配置mysql的复制
注:这里mysql的版本是mariadb:10.5.5-MariaDB
为了使用 Apache Flink 的 Change Data Capture (CDC) 功能从 MySQL 同步数据,MySQL 需要做如下配置以启用并输出 binlog(二进制日志),因为 Flink CDC 通常是通过监听 MySQL 的 binlog 来捕获数据库的增量变化:
1、启用二进制日志 (Binary Log)
-
修改 MySQL 的配置文件(通常位于 /etc/my.cnf 或 my.ini),添加或确认下列配置项:
[mysqld]
server-id = 1 # 设置一个唯一的服务器ID,用于复制和CDC
log-bin=mysql-bin # 开启二进制日志,并设置日志文件前缀
binlog-format=row # 使用 ROW 格式,以便记录每行数据的更改
max_binlog_size=50M #每个日志大小50M
expire_logs_days=1 #只保留一天的日志,以免占用太多空间 -
重启 MySQL 服务以应用这些配置更改。
2、用户权限设置
- 创建一个具有足够权限的用户,使其能够读取 binlog:
create user ‘cdc_user’@‘%’ IDENTIFIED BY ‘cdc_passwordxxx’;
GRANT REPLICATION SLAVE, SUPER ON . TO ‘cdc_user’@‘%’ IDENTIFIED BY ‘cdc_passwordxxx’