I had set up a master-slave with MariaDb 10.0 percona-toolkit-3.0.4 and i had config replication format = Mixed, it worked until some days ago when it stopped finding any difference, even missing rows…
Today I discovered i have to specify --set-vars binlog_format=STATEMENT to make it work again.
I think this is different from what is described in the last documentation.
How does your replication topology look likes ? Do you have intermediate master too e.g. M1 → S1 → S2 ?
pt-table-checksum set STATEMENT based binlog_format on session level and underlying slave(s) receives checksum queries in STATEMENT level too to do the checksum.
12-08T15:49:03 Failed to /!50108 SET @@binlog_format := ‘STATEMENT’/: DBD::mysql::db do failed: Access denied; you need (at least one of) the SUPER privilege(s) for this operation [for Statement “/!50108 SET @@binlog_format := ‘STATEMENT’/”] at ./pt-table-checksum line 9403.
This tool requires binlog_format=STATEMENT, but the current binlog_format is set to MIXED and an error occurred while attempting to change it. If running MySQL 5.1.29 or newer, setting binlog_format requires the SUPER privilege. You will need to manually set binlog_format to ‘STATEMENT’ before running this tool.
[root@ip-172-0-27-13 bin]# ./pt-table-checksum --version
pt-table-checksum 3.0.5
it’s still failed againt AWS RDS per the above message