web-dev-qa-db-fra.com

pt-table-checksum avec esclaves utilisant des ports non standard

Essayer d'exécuter PT-Table-Checksum pour détecter la dérive des esclaves dans la réplication MySQL. Mes esclaves n'utilisent pas la norme TCP Ecoute de port d'écoute cependant, et donc lorsque j'exécute l'outil, je reçois une erreur:

Cannot connect to P=3306,h=,p=...

Il vérifie toujours les tables du maître, mais sans pouvoir se connecter aux esclaves, ce n'est pas très utile. Je ne peux pas comprendre comment spécifier des ports alternatifs pour les esclaves lors de l'exécution de la commande. Ma commande actuelle ressemble à

pt-table-checksum -h  -P 3388 -p 
4
wjimenez5271

La question est que les répliques ne signalent pas leurs ports au maître. Par défaut, PT-TABLE-CheckSum tente de se connecter en remplissant des inconnus avec des valeurs par défaut; Si les inconnues n'utilisent pas les valeurs par défaut, cela échouera. Dans ce cas, il y a deux options:

1) Utilisez l'option de méthode --Recursion pour passer à partir de l'inspection Afficher la liste de processus pour inspecter les hôtes SLAVE SLAVE et configurer des esclaves pour signaler leur hôte. Je ne recommande pas ça.

2) Je vous recommande, à la place, que vous utilisez --Recursion-méthody = DSN et crée une table pleine de instructions DSN (Nom de la source de données) qui indiquent à l'outil comment se connecter à chaque réplica. Si cette table est foo.bar, alors vous utiliserez --Récursion-méthode = DSN = D = FOO, T = Barre.

Ceci est uniquement disponible dans la série 2.0 de la boîte à outils, mais vous devriez utiliser cela de toute façon, car la chute de contrôle PT est extrêmement améliorée en 2.0.

3
Baron Schwartz