A number of different logging formats are used to record information in the binary log. The exact format employed depends on the version of MySQL being used. There are three logging formats:
Replication capabilities in MySQL originally were based on
propagation of SQL statements from master to slave. This
is called statement-based logging.
You can cause this format to be used by starting the
server with --binlog-format=STATEMENT.
In row-based logging, the master
writes events to the binary log that indicate how
individual table rows are affected. You can cause the
server to use row-based logging by starting it with
--binlog-format=ROW.
A third option is also available: mixed
logging. With mixed logging, statement-based
logging is used by default, but the logging mode switches
automatically to row-based in certain cases as described
below. You can cause MySQL to use mixed logging explicitly
by starting mysqld with the option
--binlog-format=MIXED.
Mixed logging is the default logging mode.
The logging format can also be set or limited by the storage engine being used. This helps to eliminate issues when logging, and more specifically replicating, certain statements between a master and slave which are using different storage engines.


User Comments
Add your own comment.