Documentation Home
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 46.3Mb
PDF (A4) - 46.3Mb
PDF (RPM) - 41.7Mb
HTML Download (TGZ) - 10.6Mb
HTML Download (Zip) - 10.7Mb
HTML Download (RPM) - 9.2Mb
Man Pages (TGZ) - 224.0Kb
Man Pages (Zip) - 329.4Kb
Info (Gzip) - 4.1Mb
Info (Zip) - 4.1Mb
Excerpts from this Manual

MySQL 8.0 Reference Manual  /  ...  /  Replication of JSON Documents Replication of JSON Documents

Before MySQL 8.0, an update to a JSON column was always written to the binary log as the complete document. In MySQL 8.0, it is possible to log partial updates to JSON documents (see Partial Updates of JSON Values), which is more efficient. The logging behavior depends on the format used, as described here:

Statement-based replication.  JSON partial updates are always logged as partial updates. This cannot be disabled when using statement-based logging.

Row-based replication.  JSON partial updates are not logged as such by default, but instead are logged as complete documents. To enable logging of partial updates, set binlog_row_value_options=PARTIAL_JSON. If a replication master has this variable set, partial updates received from that master are handled and applied by a replication slave regardless of the slave's own setting for the variable.

Servers running MySQL 8.0.2 or earlier do not recognize the log events used for JSON partial updates. For this reason, when replicating to such a server from a server running MySQL 8.0.3 or later, binlog_row_value_options must be disabled on the master by setting this variable to '' (empty string). See the description of this variable for more information.