MySQL: Prerequisites for Transaction Log Based DDL Configuration

The prerequisites for configuring transaction log based DDL replication are as follows:

  • For the Transaction Log-based DDL replication, the extended metadata of the table is required in the binary logs, which is made available in the binlog by setting MySQL server's binlog_row_metadata variable to FULL. Therefore, it is mandatory to set binlog_row_metadata to FULL.

    Note:

    The extended metadata in the binlog and binlog_row_metadata variables is available from MySQL Server 8.0.14 and MariaDB 10.5 onwards. As a result DDL replication previous to these versions is not supported.
    1. Set the value of MySQL server variable binlog_row_metadata to FULL, inside MySQL configuration file, my.cnf for Linux and my.ini for Windows.

    2. Restart the database server after changing the configuration file for the settings to take effect.

  • DDL replication for remote capture is supported for MySQL 8.0 onwards. Transaction log based DDL replication works with both remote or local capture. This was a limitation for earlier Oracle GoldenGate releases. For example, Oracle GoldenGate 19c remote capture did not support DDL replication.

  • Transaction log based DDL replication can handle DDLs issued within stored procedures, which is a limitation with plugin-based DDL replication.

  • By design, the heartbeat table DDLs are ignored by the capture and you should create the heartbeat tables manually at the target.