Replication and Binary Logging Options and Variables when updating a row are both the before and after images required, and both written to the binary log. For the before image, it is necessary only that the minimum set of columns required to uniquely identify rows is logged. If the table containing the row has a primary key, then only the primary key column or columns are written to the binary log. Otherwise, if the table has a unique key all of whose columns are NOT NULL , then only the columns in the unique key need be logged. (If the table has neither a primary key nor a unique key without any  NULL  columns, then all columns must be used in the before image, and logged.) In the after image, it is necessary to log only the columns which have actually changed. You can cause the server to log full or minimal rows using the  binlog_row_image  system variable. This variable actually takes one of three possible values, as shown in the following list: This variable is not supported by NDB Cluster; setting it has no effect on the logging of  NDB  tables. The default value is  full . When using  minimal  or  noblob , deletes and updates are guaranteed to work correctly for a given table if and only if the following conditions are true for both the source and destination tables: (In other words, the tables must be identical with the possible exception of indexes that are not part of the tables’ primary keys.) If these conditions are not met, it is possible that the primary key column values in the destination table may prove insufficient to provide a unique match for a delete or update. In this event, no warning or error is issued; the source and replica silently diverge, thus breaking consistency. Setting this variable has no effect when the binary logging format is  STATEMENT . When binlog_format  is  MIXED , the setting for  binlog_row_image  is applied to changes that are logged using row-based format, but this setting has no effect on changes logged as statements. Setting  binlog_row_image  on either the global or session level does not cause an implicit commit; this means that this variable can be changed while a transaction is in progress without affecting the transaction. 3556 • binlog_row_metadata •All columns must be present and in the same order; each column must use the same data type as its counterpart in the other table. •The tables must have identical primary key definitions. • full : Log all columns in both the before image and the after image. • minimal : Log only those columns in the before image that are required to identify the row to be changed; log only those columns in the after image where a value was specified by the SQL statement, or generated by auto-increment. • noblob : Log all columns (same as  full ), except for  BLOB  and  TEXT  columns that are not required to identify rows, or that have not changed. Note Command-Line Format --binlog-row-metadata=metadata_type System Variable binlog_row_metadata