为 MySQL 配置迁移先决条件
要从 MySQL 源数据库运行迁移作业,数据库可能需要一些配置更改。如果关系迁移器确定数据库需要配置更改,它将自动生成一个包含所需更改的 SQL 脚本。建议数据库管理员(DBA)审查此脚本中的命令,并在数据库服务器上执行它们。MySQL 服务器配置取决于迁移作业类型
- 快照迁移作业迁移所有数据然后停止。 
- 持续迁移作业运行快照然后进入 CDC 阶段以持续复制数据更改。 
有关支持的 MySQL 版本详细信息,请参阅支持的数据库和版本.
步骤
在关系迁移器上运行持续作业需要启用二进制日志在您的MySQL实例上。二进制日志(Binlog)按提交到数据库的顺序记录所有操作。
1
2
(可选) 手动验证 Binlog 是否已启用
Relational Migrator 会自动检查此设置。要手动检查Binlog 选项是否启用,请使用以下查询
注意
Binlog 在 MySQL 8.x 版本中默认启用。
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM performance_schema.global_variables WHERE variable_name='log_bin'; 
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM information_schema.global_variables WHERE variable_name='log_bin'; 
3
定位并更新 MySQL 配置文件
- 运行以下 SQL 查询以获取您 MySQL 实例的 - server_id值- SELECT variable_value - FROM - performance_schema.global_variables - WHERE variable_name='server_id'; - SELECT variable_value - FROM - information_schema.global_variables - WHERE variable_name='server_id'; 
- 通过在终端运行以下 - mysqld命令来定位您的 MySQL 实例的配置文件- mysql --help | findstr cnf - mysql --help | grep cnf 
- 在 MySQL 配置文件的 - [mysqld]部分,添加以下行。将- XXXXX值替换为上一个查询中的- server_id- server-id = XXXXX - log_bin = mysql-bin - binlog_format = ROW - binlog_row_image = FULL - binlog_expire_logs_seconds = 864000 - server-id = XXXXX - log_bin = mysql-bin - binlog_format = ROW - binlog_row_image = FULL - expire_log_days = 10 - 注意- 如果您在AWS RDS上运行MySQL并且未启用自动备份,即使在配置文件中设置了值, - Binlog也将被禁用。
了解更多
关系迁移器依赖于开源Debezium连接器来捕获行级更改。更多详情,请参阅Debezium MySQL。