content_image/706261.jpg content_image/706257.jpg
binlog_row_image=NOBLOB  or binlog_row_image=MINIMAL  together with this option. binlog_row_image=FULL  saves less space than either of these, since the full JSON document is stored in the before-image, and the partial update is stored only in the after-image. 

mysqlbinlog  output includes partial JSON updates in the form of events encoded as base-64 strings using BINLOG  statements. If the --verbose  option is specified, mysqlbinlog  displays the partial JSON updates as readable JSON using pseudo-SQL statements. 

MySQL Replication generates an error if a modification cannot be applied to the JSON document on the replica. This includes a failure to find the path. Be aware that, even with this and other safety checks, if a JSON document on a replica has diverged from that on the source and a partial update is applied, it remains theoretically possible to produce a valid but unexpected JSON document on the replica. 

• binlog_rows_query_log_events 

<img src='content_image/706261.jpg'>

This system variable affects row-based logging only. When enabled, it causes the server to write informational log events such as row query log events into its binary log. This information can be used for debugging and related purposes, such as obtaining the original query issued on the source when it cannot be reconstructed from the row updates. 

Setting the session value of this system variable is a restricted operation. The session user must have privileges sufficient to set restricted session variables. See Section 5.1.9.1, “System Variable Privileges” . 

These informational events are normally ignored by MySQL programs reading the binary log and so cause no issues when replicating or restoring from backup. To view them, increase the verbosity level by using mysqlbinlog’s --verbose  option twice, either as -vv  or --verbose --verbose . 

• binlog_stmt_cache_size 

<img src='content_image/706257.jpg'>

