Running pt-table-checksum against slaves that don't have all dbs as master

Is there any way to run pt-table-checksum in a mixed environment where some slaves have a full copy of the masters data and some slaves only have a few dbs?

Can pt-table-checksum be made smarter with a flag like --ignore-dbs-that-dont-exist ?
The way i’ve been running it in the meantime is explicitly listing the dbs that exist on all the servers which isn’t ideal because some dbs don’t get checked.

1 Like

Unfortunately this is one caveat to using pt-table-checksum in environments with filtered databases and/or tables.

Since pt-table-checksum is always ran on the source, there’s no way to know which replicas have or do not have certain dbs/tables. pt-t-c does not run queries on the replicas. The checksum query is a REPLACE statement which is ONLY executed on the source and is then replicated and re-executed on each replica. This is why simply saying ‘ignore dbs that don’t exist’ won’t work because the query runs on the source, where all dbs/tables exist.

1 Like