Docs 菜单
Docs 主页
/
Relational Migrator
/ /

配置 MySQL 的迁移先决条件

在此页面上

  • 步骤
  • 了解详情

要从 MySQL 源数据库运行同步作业,可能需要对数据库进行一些配置更改。 如果 Relational Migrator 确定数据库需要更改配置,它会自动生成包含所需更改的 SQL 脚本。 建议让数据库管理员 (DBA) 查看此脚本中的命令并在数据库服务器上执行这些命令。 MySQL 服务器配置取决于同步作业的类型:

  • 快照同步作业会迁移所有数据,然后停止。

  • 连续同步作业运行快照,然后进入 CDC 阶段以连续复制数据更改。

有关支持的MySQL版本的详细信息,请参阅支持的数据库和版本。

1

以下代码为 Relational Migrator 创建一个新的 MySQL 服务帐户,以连接到 MySQL 实例。 或者,您可以使用现有的 MySQL 服务帐户连接到具有适当权限的 Relational Migrator。

  1. 创建服务帐户:

    CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
  2. 向服务帐户授予所需权限:

    GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT
    ON *.*
    TO 'user'@'%';
  3. 应用用户权限更改:

    FLUSH PRIVILEGES;

在Relational Migrator上运行连续作业需要 二进制日志 要在MySQL实例上启用。二进制日志(Binlog) 按提交到数据库的顺序记录所有操作。

1

以下代码为 Relational Migrator 创建一个新的 MySQL 服务帐户,以连接到 MySQL 实例。 或者,您可以使用现有的 MySQL 服务帐户连接到具有适当权限的 Relational Migrator。

  1. 创建服务帐户:

    CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
  2. 向服务帐户授予所需权限:

    GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT
    ON *.*
    TO 'user'@'%';
  3. 应用用户权限更改:

    FLUSH PRIVILEGES;
2

Relational Migrator会自动检查此设置。 要手动检查是否已启用 Binlog选项,请针对您的MySQL版本使用以下查询:

注意

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
  1. 运行以下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';
  2. 在终端中运行以下mysqld命令,找到MySQL实例的配置文件:

    mysql --help | findstr cnf
    mysql --help | grep cnf
  3. 在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

    注意

    如果您在MySQL Amazon Web ServicesRDS 和 自动备份 上运行Binlog 未启用,则即使在配置文件中设立了这些值, 也将被禁用。

Relational Migrator依赖开源 DebeziumConnector来捕获行级更改。 有关更多详细信息,请参阅 Debezium MySQL。

后退

配置先决条件

在此页面上