LP #1105077: pt-table-checksum: Confusing error message with binlog_format ROW or MIXED on slave

Description

**Reported in Launchpad by Walter Heck last update 15-02-2013 17:11:39

on MMM monitor:

<pre>[root@baz ~]# pt-table-checksum --replicate test.checksum --empty-replicate-table --create-replicate-table --user maatkit --ask-pass 192.168.1.113
Enter MySQL password:
foo.com has binlog_format STATEMENT but replica bar.com has binlog_format MIXED. This could cause pt-table-checksum to break replication. If you understand the risks, specify --no-check-binlog-format to disable this check.
[root@brownsboro ~]# pt-table-checksum --version
pt-table-checksum 2.1.8</pre>

on foo:
<pre>
MariaDB [(none)]> select @@binlog_format
-> ;
-----------------

@@binlog_format

-----------------

MIXED

-----------------
1 row in set (0.00 sec)

[root@foo ~]# grep format /etc/my.cnf
binlog_format = mixed
[root@foo ~]# mysqld -V
mysqld Ver 5.2.12-MariaDB-mariadb115-log for unknown-linux-gnu on x86_64 ((MariaDB - http://mariadb.com/))
</pre>

on bar:
<pre>
MariaDB [(none)]> select @@binlog_format;
-----------------

@@binlog_format

-----------------

MIXED

-----------------
1 row in set (0.00 sec)
[root@bar ~]# grep format /etc/my.cnf
binlog_format = mixed
[root@bar ~]# mysqld -V
mysqld Ver 5.2.12-MariaDB-mariadb115-log for unknown-linux-gnu on x86_64 ((MariaDB - http://mariadb.com/))
</pre>

Am I missing something?

Environment

None

Smart Checklist

Activity

lpjirasync January 24, 2018 at 2:22 PM

**Comment from Launchpad by: Brian Fraser on: 28-01-2013 15:25:46

This is actually explained in the documentation:

Replicas using row-based replication
pt-table-checksum requires statement-based replication, and it sets
"binlog_format=STATEMENT" on the master, but due to a MySQL
limitation replicas do not honor this change. Therefore, checksums
will not replicate past any replicas using row-based replication
that are masters for further replicas.

The tool automatically checks the "binlog_format" on all servers.
See "--[no]check-binlog-format" .

So the error is expected if the slaves have MIXED format. I was going to mark this ticket as Not A Bug, but since this isn't the first time this message has caused confusion, we're obviously conveying things wrong, so I'll tag this for 2.1.9 and 2.2 and reword the error.

Done

Details

Assignee

Reporter

Priority

Smart Checklist

Created January 24, 2018 at 2:21 PM
Updated January 24, 2018 at 2:22 PM
Resolved January 24, 2018 at 2:21 PM