MySQL权限配置
更新时间: 2024-12-04 15:39:51
CDC(Change Data Capture),即数据变更抓取,通过为源端数据源开启CDC,作业可实现数据源的实时数据同步。 本章节主要介绍如何为MySQL数据库开启Binlog模式CDC功能。
前提条件
MySQL 数据库为5.7.x 或者8.0.x 版本
操作步骤
注意:建议由数据库管理员对数据源配置进行操作。 |
必须配置一个对Debezium MySQL 连接监视器的所有数据库具有适当权限的MySQL用户。
- 创建 MySQL User:
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
- 对用户进行授权
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password';
- FLUSH
mysql> FLUSH PRIVILEGES;
- 开启mysql binlog
show variables like 'log_bin'; 若变量log_bin的值为“OFF”,则说明Binlog未开启,继续执行下一步。 若变量log_bin的值为“ON”,则说明Binlog已开启,继续执行以下SQL命令,检查相关参数的配置是否符合要求。 show variables like '%binlog_format%'; show variables like '%binlog_row_image%'; 变量binlog_format的值应该为“ROW”,变量binlog_row_image的值应该为“FULL”。如果满足要求,不需要再进行配置。
- 在配置文件中配置如下配置
其中:server-id = 123 log_bin = mysql-bin binlog_format = row binlog_row_image = full expire_logs_days = 10 gtid_mode = on enforce_gtid_consistency = on
server-id的值应为大于1的整数,请根据实际规划设置,并且在创建数据集成任务时设置的“Server Id”值需要此处设置的值不同。 expire_logs_days为Binlog日志文件保留时间,超过保留时间的Binlog日志会被自动删除,应保留至少2天的日志文件。 “gtid_mode = on”和“enforce_gtid_consistency = on”仅当MySQL的版本大于等于5.6.5时才需要添加,否则删除这两行内容。
增加配置后需要重启数据库