6 Installing Oracle GoldenGate for MySQL Databases

Learn about the requirements and how to install Oracle GoldenGate for MySQL databases.

Topics:

Supported Databases

Oracle GoldenGate for MySQL supports capture and delivery for MySQL, Amazon Aurora MySQL, Amazon RDS for MariaDB, Amazon RDS for MySQL, Azure Database for MySQL, and MariaDB.

Note:

  • Amazon RDS for MariaDB and MariaDB 10.4 are supported starting with bundle patch 19.1.0.0.200714.

  • Azure Database for MySQL is supported starting with bundle patch 19.1.0.0.200414.

For supported database versions, review the certification matrix available at:

https://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

DDL replication is only supported for local capture on MySQL 5.7.10 and greater.

Limitations of Support

Following are the limitations of support for Oracle GoldenGate for MySQL:
  • MySQL databases enabled with binary log transaction compression are not supported with Oracle GoldenGate Extract.

  • MySQL databases enabled with binary log encryption are not supported with Oracle GoldenGate Extract.

Database Storage Engine

Requirements for the database storage engine are as follows:

  • Oracle GoldenGate supports the InnoDB storage engine for a source MySQL database.

  • On a target MySQL database, the Oracle GoldenGate Replicat process connects to the database through the MySQL native API.

Database Character Set

MySQL provides a facility that allows users to specify different character sets at different levels.

Level Example

Database

create database test charset utf8;

Table

create table test( id int, name char(100)) charset utf8;

Column

create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8));

Limitations of Support

  • When you specify the character set of your database as utf8mb4/utf8, the default collation is utf8mb4_unicode_ci/utf8_general_ci. If you specify collation_server=utf8mb4_bin, the database interprets the data as binary. For example, specifying the CHAR column length as four means that the byte length returned is 16 (for utf8mb4) though when you try to insert data more than four bytes the target database warns that the data is too long. This is the limitation of database so Oracle GoldenGate does not support binary collation. To overcome this issue, specify collation_server=utf8mb4_bin when the character set is utf8mb4 and collation_server=utf8_bin for UTF-8.

  • The following character sets are not supported:

    • armscii8
    • keybcs2
    • utf16le
    • geostd8

Other Programs and Settings for MySQL

Oracle GoldenGate 19c for MySQL is packaged with MySQL client libraries 8.0.17 and requires OpenSSL 1.0 be (libssl.so.10 and libcrypto.so.10) installed on the Oracle GoldenGate server.

  • If Oracle GoldenGate is installed on a MySQL 8.0 (versions less than 8.0.34) database server, then add the MySQL installation’s home\bin directory to the PATH or LD_LIBRARY_PATH environment variable as shown.

    For Linux:

    export LD_LIBRARY_PATH=mysql_home/bin:$PATH

    For Windows:

    set PATH=mysql_home\bin;%PATH%
  • If Oracle GoldenGate is installed on a MySQL (versions 5.6, 5.7, 8.0.34+) or MariaDB database server, or installed on a hub server, then install OpenSSL 1.1.1 and add its installation location to the PATH or LD_LIBRARY_PATH environment variable.

This is required for both Linux and Windows systems and the environment variable must include the directory containing the following files:

Note:

The OpenSSL library (libssl.so.10) is part of the core OS package on RHEL7 but its not part of the OS package on RHEL8. On RHEL8, you need to manually install a compatible SSL (libssl.so.10) library.
  • libssl.so.10 and libcrypto.so.10 files for Linux systems

  • libcrypto-1_1-x64.dll and libssl-1_1-x64.dll files for Windows systems

  • If Oracle GoldenGate is installed on a MySQL 8.0 database server (versions less than 8.0.26) , then add the MySQL installation’s home\bin directory to the PATH or LD_LIBRARY_PATH environment variable as shown:

    For Linux:

    export LD_LIBRARY_PATH=mysql_home/bin:$PATH

    For Windows:

    set PATH=mysql_home\bin;%PATH%
  • If Oracle GoldenGate is installed on a MySQL (versions 5.6, 5.7, 8.0.26+) or MariaDB database server, or installed on a hub server, then install OpenSSL 1.0 (libssl.so.10 and libcrypto.so.10) and add its installation location to the PATH or LD_LIBRARY_PATH environment variable.

This is required for both Linux and Windows systems and the environment variable must include the directory containing the following files:

Note:

The OpenSSL library (libssl.so.10) is part of the core OS package on RHEL7 but its not part of the OS package on RHEL8. On RHEL8, you need to manually install OpenSSL libraries (libssl.so.10 and libcrypto.so.10).
  • libssl.so.10 and libcrypto.so.10 files for Linux systems.

  • libcrypto-1_1-x64.dll and libssl-1_1-x64.dll files for Windows systems".

On Linux , OpenSSL 1.0 (libssl.so.10 and libcrypto.so.10) is installed using the OpenSSL development package or by installing a MySQL version lower than or equal to 8.0.26, which includes the OpenSSL 1.0 libraries (libssl.so.10 and libcrypto.so.10), such as Connector/ODBC 8.0 version 8.0.26.

On Windows OpenSSL 1.0 libraries can be directly download from https://slproweb.com/products/Win32OpenSSL.html.

Installing for MySQL

Install Oracle GoldenGate for your MySQL system, see Installing for all Platforms.