为 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。