数据库配置

了解支持的 MySQL 数据库、所需的设置,以及如何在为 Oracle GoldenGate 配置 MySQL 时准备要处理的表。

支持的数据库

Oracle GoldenGate for MySQL 支持捕获和交付 MySQL、Oracle MySQL Heatwave、Amazon Aurora MySQL、Amazon RDS for MariaDB、Amazon RDS for MySQL、Azure Database for MySQL、Google Cloud SQL for MySQL 和 MariaDB。

Oracle GoldenGate 支持使用 Oracle GoldenGate for MySQL Replicat 交付到 SingleStoreDB 和 SingleStoreDB 云。

支持在单主模式下使用组复制配置的 MySQL 的捕获和传送。有关更多信息,请参见 Using Oracle GoldenGate with MySQL Group Replication 。

有关支持的数据库和版本的完整列表,请查看您的 Oracle GoldenGate 版本的认证矩阵。

支持的限制

以下是 Oracle GoldenGate 对 MySQL 的支持限制:

数据库存储引擎

数据库存储引擎的要求如下:

数据库字符集

MySQL 提供了一个工具,允许用户在不同的级别指定不同的字符集。

级别 示例
数据库
create database test charset utf8;
表
create table test( id int, name char(100)) charset utf8;
列
create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8));

支持的限制

设置会话字符集

从命令行界面 (Admin Client) 连接到数据库时,提取和复制进程使用会话字符集。对于 MySQL,会话字符集取自 SOURCEDB 的 SESSIONCHARSET 选项和 TARGETDB 参数。

请确保在配置 Oracle GoldenGate 时使用以下方式之一指定会话字符集。

为远程捕获配置 MySQL

用于 MySQL 的 Oracle GoldenGate 远程捕获、用于 MySQL 的 Amazon RDS、用于 MySQL 的 Amazon Aurora MySQL、用于 MySQL 的 Azure 数据库用于从远程到 Oracle GoldenGate 安装的数据库捕获事务处理日志数据。

数据库服务器配置

要使远程捕获工作,请按如下方式配置 MySQL 服务器:

  1. 向 Oracle GoldenGate 远程捕获用户授予访问权限。

    对远程数据库运行以下语句,以创建用户并授予远程捕获所需的权限。

    CREATE USER '*username*'@'*host*' IDENTIFIED BY '*Password*';
    GRANT ALL PRIVILEGES ON *.* TO '*username*'@'*host*' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  2. 远程 MySQL 服务器的 server_id 值应大于 0。可以通过在 MySQL 远程服务器上发出以下语句来验证此值:

    SHOW VARIABLES LIKE '*server_id*';

    如果 server_id 值为 0,请修改 my.cnf 配置文件以设置为大于 0 的值。

Oracle GoldenGate 配置

Oracle GoldenGate 配置具有以下步骤:

  1. 在提取的参数文件中提供远程数据库的连接信息。

    SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD
    password
  2. 在连接信息之后,将以下参数添加到提取的参数文件中。

    TRANLOGOPTIONS ALTLOGDEST REMOTE

MySQL 的 Oracle GoldenGate 远程捕获限制

支持 Oracle GoldenGate 与 MySQL 原生复制从属服务器的 MySQL 远程捕获共存,但存在以下条件和限制: