Datenkonsistenz einer MySQL Replikation über eine sichere Verbindung prüfen

rubot

New Member
Hallo,

nach Stunden das Percona Toolkit (2.1)-Tool "pt-table-checksum" zu verstehen, wende ich mich an Euch.

Situation

  • Laufende MySQL Replikation (Master-active:Master-passive)
  • Slave/Checksum user is required SSL zu benutzen
  • pt-table-checksum kann sich nicht zum Slave verbinden

Problem

  • pt-table-checksum funktioniert nicht für mich mit einem SSL required mysql "checksum" user

Die Idee für eine Lösung

  • ist pt-table-checksum auf dem aktiven Master so zu konfigurieren,
  • dass es den via ssh tunnel lokal erreichbaren MySQL-Slave erreichen kann,
  • mit einem "checksum" user der dann eben nicht SSL required

Fragen

  • Kann pt-table-checksum (2.1) sich wirklich nicht via SSL verbinden?
  • Wie konfiguriere ich pt-table-checksum sich mit einem nicht intern angelegten Slave zu verbinden
  • Ist die DSNs option die Lösung?
  • Wenn: Ich verstehe nicht, wie das zu konfigurieren ist. Könnt ihr mir einen Hinweis geben?
  • Soll ich eine ältere Version, oder doch maatkit benutzen ? (weil ich da auf der Kommandozeile master/slave angeben kann)
  • Ist der Weg eher in zwei Ausführungenn des pt-table-checksum. Erst auf dem Master, dann auf dem Slave, dann Ergebnis vergleichen? Wenn ja: Wie mache ich das?
  • Was ist "best practice" die Datenintigrität über ein unsicheres Netzwerk zu prüfen, wenn pt-table-checksum nicht über SSL funktioniert?

Danke Euch schonmal,
 
Hallo Rubot,

die DSN Methode sollte Dich zum Erfolg führen.

An SSL kannst Du Dich wie schon angedacht mit ssh oder stunnel vorbei mogeln.

Die Vorgehensweise ist diese: Du legst eine Tabelle an, in der Du deine Slaves definierst. Datenbank und Namen der Tabelle übergibst Du mit der Option --recursion-method (als DSN!). Siehe hier:

http://www.percona.com/doc/percona-toolkit/2.1/pt-table-checksum.html#cmdoption-pt-table-checksum--recursion-method

In die Tabelle trägst Du dann deine Slave-DSN ein (in die Spalte dsn, die anderen Spalten kannst Du ignorieren).

Die Einträge haben dann die Form:
h=host1,P=3306,u=<user>,p=<password>

beste Grüße,
Nils
 
Back
Top