I’m trying to fix an out-of-sync table on a slave database server, but pt-table-sync used with the --sync-to-master option won’t work, because there is no unique index on the table. I assume that I will need to run pt-table-sync with the --nocheck-slave option (and cross my fingers) - but I’m puzzled by the following bit of the pt-table-sync documentation:
“Source and destination hosts must be independent; they cannot be in the same replication topology. pt-table-sync will die with an error if it detects that a destination host is a slave because changes are written directly to destination hosts (and it’s not safe to write directly to slaves).”
I assume that --nocheck-slave will override the behaviour described here - but there’s nothing in the documentation to confirm this. Is this correct? I’d like to understand a bit more about what I’m trying to do, rather than just go ahead and risk turning a problem into a disaster!
(Presumably it would be a good idea to issue “stop slave” on the slave, before running pt-table-sync with the --nocheck-slave option?)