I have a very simple setup: 1 master with 2 slaves. I stopped replication on one of the slaves (with the slave mysqld still running) and changed a row on the master. I have also kept all slaves and the master running and just changed data on the slave.
I ran pt-table-checksum --databases=db_main --user=user --pass='pass'
but do not get any differences.
I read the documentation a few times, but can't seem to find what I might be missing.
Extra info: the storage engine is InnoDB, the master is on MySQL and slaves on MariaDB. Full replication with slaves set as read-only. Permissions are correct.
ANSWER: In the comments from @akuzminsky. Here it is in case someone else has this issue: There were two issues preventing the check to work correctly. 1. When replication is stopped on a slave, the master will not see it as a slave (and therefore not check it). 2. Permissions allowed pt-table-checksum to connect to the master, but not to the slaves (since that account was restricted to localhost). However, the tool will not show permission denied. Instead it just ignores the slave.
Hopefully that helps someone else.