文档菜单
文档首页
/
关系迁移器
/ /

为 MySQL 配置迁移先决条件

在本页中

  • 步骤
  • 了解更多

要从 MySQL 源数据库运行迁移作业,数据库可能需要一些配置更改。如果关系迁移器确定数据库需要配置更改,它将自动生成一个包含所需更改的 SQL 脚本。建议数据库管理员(DBA)审查此脚本中的命令,并在数据库服务器上执行它们。MySQL 服务器配置取决于迁移作业类型

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

  • 持续迁移作业运行快照然后进入 CDC 阶段以持续复制数据更改。

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

1

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

  1. 创建服务帐户

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

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

    FLUSH PRIVILEGES;

在关系迁移器上运行持续作业需要启用二进制日志在您的MySQL实例上。二进制日志(Binlog)按提交到数据库的顺序记录所有操作。

1

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

  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 选项是否启用,请使用以下查询

注意

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

    注意

    如果您在AWS RDS上运行MySQL并且未启用自动备份,即使在配置文件中设置了值,Binlog 也将被禁用。

关系迁移器依赖于开源Debezium连接器来捕获行级更改。更多详情,请参阅Debezium MySQL。

返回

MongoDB

在本页中