MySQL: トランザクション・ログ・ベースのDDL構成の前提条件
次に、トランザクション・ログ・ベースのDDLレプリケーションの構成の前提条件を示します。
-
トランザクション・ログベースのDDLレプリケーションの場合、バイナリ・ログには表の拡張メタデータが必要であり、これは、MySQLサーバーの
binlog_row_metadata
変数をFULL
に設定することで、binlog
で使用できるようになります。したがって、binlog_row_metadata
をFULL
に設定する必要があります。ノート:
binlog
およびbinlog_row_metadata
変数の拡張メタデータは、MySQL Server 8.0.14およびMariaDB 10.5以降で使用できます。そのため、これらのバージョンより前のDDLレプリケーションはサポートされていません。-
MySQLサーバー変数
binlog_row_metadata
の値を、MySQL構成ファイル内ではFULL
、Linuxではmy.cnf
、Windowsではmy.ini
に設定します。 -
設定を有効にするために、構成ファイルを変更した後、データベース・サーバーを再起動します。
-
-
リモート取得のDDLレプリケーションはMySQL 8.0以降ではサポートされていません。トランザクション・ログ・ベースのDDLレプリケーションは、リモート取得またはローカル取得の両方で動作します。これは、以前のOracle GoldenGateリリースの制限でした。たとえば、Oracle GoldenGate 19cのリモート取得ではDDLレプリケーションをサポートしていませんでした。
-
トランザクション・ログ・ベースのDDLレプリケーションでは、ストアド・プロシージャ内で発行されたDDLを処理できます。これは、プラグイン・ベースのDDLレプリケーションでは制限になります。
-
設計上、ハートビート表DDLはキャプチャによって無視されるため、ターゲットで手動でハートビート表を作成する必要があります。