# pt-table-sync requires binlog\_format=STATEMENT even with --print and --dry-run

**URL:** <https://forums.percona.com/t/pt-table-sync-requires-binlog-format-statement-even-with-print-and-dry-run/3845>\
**Category:** Percona Toolkit\
**Created:** [October 30, 2014, 9:24pm UTC](https://forums.percona.com/t/pt-table-sync-requires-binlog-format-statement-even-with-print-and-dry-run/3845 "2014-10-30T21:24:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![acerola](https://avatars.discourse-cdn.com/v4/letter/a/91b2a8/32.png) [@acerola](https://forums.percona.com/u/acerola)\
**Post date:** [October 30, 2014, 9:24pm UTC](https://forums.percona.com/t/pt-table-sync-requires-binlog-format-statement-even-with-print-and-dry-run/3845/1 "2014-10-30T21:24:32Z")

</div>

I would like to use pt-table-sync to check if the slave has the same data as its master. But I want it to be a read-only check, without any changes to the master or slave.

I tried:

```auto
pt-table-sync --print --dry-run --sync-to-master --verbose h=localhost,D=xxx,t=xxx,u=xxx,p=xxx

pt-table-sync --print --dry-run --verbose h=localhost,D=xxx,t=xxx,u=xxx,p=xxx h=master_ip,P=xxx,D=xxx,t=xxx,u=xxx,p=xxx

pt-table-sync --print --dry-run --verbose h=master_ip,P=xxx,D=xxx,t=xxx,u=xxx,p=xxx h=localhost,D=xxx,t=xxx,u=xxx,p=xxx

```

In all cases I got the error:

```auto
This tool requires binlog_format=STATEMENT, but the current binlog_format is set to ROW and an error occurred while attempting to change it.

```

Is it possible to do a read-only check, without changing anything on either the master or slave? In other words, the users used to do the checking only have the SELECT privilege.

---

<div class="post-metadata">

**Author:** ![niljoshi](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/niljoshi/32/16889_2.png) [@niljoshi](https://forums.percona.com/u/niljoshi)\
**Post date:** [November 3, 2014, 12:21am UTC](https://forums.percona.com/t/pt-table-sync-requires-binlog-format-statement-even-with-print-and-dry-run/3845/2 "2014-11-03T00:21:52Z")

</div>

Hi,

If you want to check data consistency of slave with master then you should use pt-table-checksum and for the binlog format check limitations.  
You can use, -[no]check-binlog-format  
[url][pt-table-checksum — Percona Toolkit Documentation](http://www.percona.com/doc/percona-toolkit/2.2/pt-table-checksum.html#limitations%5B/url%5D)

After checking cheksums, if you found data inconsistency then you can use pt-table-sync to sync the master and slave.
