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'sbinlog_row_metadata
variable toFULL
. Therefore, it is mandatory to setbinlog_row_metadata
toFULL
.Note:
The extended metadata in thebinlog
andbinlog_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.-
Set the value of MySQL server variable
binlog_row_metadata
toFULL
, inside MySQL configuration file,my.cnf
for Linux andmy.ini
for Windows. -
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 was 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.