Dies ist der Befehl pt-slave-restartp, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
pt-slave-restart – Beobachten Sie die MySQL-Replikation und starten Sie sie nach Fehlern neu.
ZUSAMMENFASSUNG
Verwendung: pt-slave-restart [OPTIONEN] [DSN]
pt-slave-restart überwacht einen oder mehrere MySQL-Replikationsslaves auf Fehler und versucht dies
Starten Sie die Replikation neu, wenn sie stoppt.
RISIKEN
Percona Toolkit ist ausgereift, in der Praxis bewährt und gut getestet, aber alle Datenbank
Tools können eine Gefahr für das System und den Datenbankserver darstellen. Bevor Sie dieses Werkzeug verwenden,
Bitte:
· Lesen Sie die Dokumentation des Tools
· Überprüfen Sie die bekannten "BUGS" des Tools
· Testen Sie das Tool auf einem Nicht-Produktionsserver
· Sichern Sie Ihren Produktionsserver und überprüfen Sie die Backups
BESCHREIBUNG
pt-slave-restart überwacht einen oder mehrere MySQL-Replikationsslaves und versucht, Anweisungen zu überspringen
die Fehler verursachen. Es befragt Sklaven intelligent mit einem exponentiell variierenden Schlaf
Zeit. Sie können Fehler angeben, um die Slaves zu überspringen und bis zu einer bestimmten Binlog-Position auszuführen.
Obwohl dieses Tool einem Slave dabei helfen kann, frühere Fehler zu beheben, sollten Sie sich nicht darauf verlassen
Replikation „reparieren“. Wenn Slave-Fehler häufig oder unerwartet auftreten, sollten Sie dies identifizieren
und die Grundursache beheben.
AUSGABE
Wenn Sie „--verbose“ angeben, gibt pt-slave-restart jedes Mal eine Zeile aus, wenn es den Slave sieht
hat einen Fehler. Weitere Informationen finden Sie unter „--verbose“.
SLEEP
pt-slave-restart schläft intelligent zwischen der Abfrage des Slaves. Die aktuelle Schlafzeit
variiert.
· Die anfängliche Ruhezeit wird durch „--sleep“ angegeben.
· Wenn es prüft und einen Fehler findet, halbiert es die vorherige Ruhezeit.
· Wenn kein Fehler gefunden wird, verdoppelt es die vorherige Ruhezeit.
· Die Schlafzeit wird nach unten durch „--min-sleep“ und nach oben durch „--max-sleep“ begrenzt.
· Unmittelbar nach dem Finden eines Fehlers geht pt-slave-restart davon aus, dass ein weiterer Fehler vorliegt
wird wahrscheinlich als nächstes passieren, also schläft es die aktuelle Schlafzeit oder die anfängliche Schlafzeit,
was auch immer weniger ist.
GLOBALES TRANSAKTION IDS
Ab Percona Toolkit 2.2.8 unterstützt pt-slave-restart die eingeführten globalen Transaktions-IDs
in MySQL 5.6.5. Es ist wichtig, Folgendes im Hinterkopf zu behalten:
· pt-slave-restart überspringt keine Transaktionen, wenn mehrere Replikationsthreads vorhanden sind
verwendet wird (slave_parallel_workers > 0). pt-slave-restart kennt die GTID nicht
Das Ereignis bezieht sich auf die fehlgeschlagene Transaktion eines bestimmten Slave-Threads.
· Das Standardverhalten besteht darin, die nächste Transaktion vom Master des Slaves zu überspringen. Schreibt
können von verschiedenen Servern stammen, jeder mit seiner eigenen UUID.
Siehe „--master-uuid“.
EXIT STATUS
Ein Exit-Status von 0 (manchmal auch als Rückgabewert oder Rückgabecode bezeichnet) zeigt an
Erfolg. Jeder andere Wert repräsentiert den Exit-Status des Perl-Prozesses selbst oder des
letzter gezweigter Prozess, der beendet wurde, wenn mehrere Server überwacht werden mussten.
KOMPATIBILITÄT
pt-slave-restart sollte auf vielen MySQL-Versionen funktionieren. Großbuchstaben vieler Ausgabespalten
von SHOW SLAVE STATUS hat sich im Laufe der Zeit geändert, sodass alle als Kleinbuchstaben behandelt werden.
OPTIONAL
Dieses Tool akzeptiert zusätzliche Befehlszeilenargumente. Siehe "SYNOPSIS" und Verwendung
Informationen für Details.
--stets
Starten Sie Slaves, auch wenn kein Fehler vorliegt. Wenn diese Option aktiviert ist, wird pt-slave-restart
Sie können den Slave nicht manuell stoppen, wenn Sie möchten!
--ask-pass
Beim Herstellen einer Verbindung mit MySQL zur Eingabe eines Kennworts auffordern.
--Zeichensatz
Kurzform: -A; Typ: Zeichenfolge
Standardzeichensatz. Wenn der Wert utf8 ist, setzt Perls binmode auf STDOUT auf utf8,
übergibt die Option mysql_enable_utf8 an DBD::mysql und führt danach SET NAMES UTF8 aus
Verbindung zu MySQL. Jeder andere Wert setzt binmode auf STDOUT ohne die utf8-Ebene,
und führt SET NAMES aus, nachdem eine Verbindung zu MySQL hergestellt wurde.
--[no]check-relay-log
Standard: ja
Überprüfen Sie die Protokolldatei und Position des letzten Relais, bevor Sie nach Slave-Fehlern suchen.
Standardmäßig führt pt-slave-restart nichts aus (es schläft nur), wenn dies nicht der Fall ist
Die Relay-Log-Datei und die Relay-Log-Position haben sich seit der letzten Überprüfung geändert. Das
verhindert Endlosschleifen (d. h. das erneute Starten desselben Fehlers in derselben Relay-Protokolldatei um
die gleiche Relaisprotokollposition).
Bei bestimmten Slave-Fehlern muss diese Prüfung jedoch durch Angabe deaktiviert werden
„--no-check-relay-log“. Tun Sie dies nicht, es sei denn, Sie wissen, was Sie tun!
--config
Typ: Array
Lesen Sie diese durch Kommas getrennte Liste von Konfigurationsdateien; falls angegeben, muss dies der erste sein
Option in der Befehlszeile.
--dämonisieren
In den Hintergrund gabeln und von der Schale lösen. Nur POSIX-Betriebssysteme.
--Datenbank
Kurzform: -D; Typ: Zeichenfolge
Zu verwendende Datenbank.
--defaults-Datei
Kurzform: -F; Typ: Zeichenfolge
Lesen Sie nur MySQL-Optionen aus der angegebenen Datei. Sie müssen einen absoluten Pfadnamen angeben.
--error-length
Typ: int
Maximale Länge der zu druckenden Fehlermeldung. Wenn „--verbose“ hoch genug zum Drucken eingestellt ist
Um den Fehler anzuzeigen, kürzt diese Option den Fehlertext auf die angegebene Länge. Das kann
nützlich sein, um ein Einwickeln des Terminals zu verhindern.
--error-numbers
Typ: Hash
Starten Sie nur diese durch Kommas getrennte Fehlerliste neu. Lässt pt-slave-restart nur versuchen
Starten Sie neu, wenn die Fehlernummer in dieser durch Kommas getrennten Fehlerliste enthalten ist. Wenn es ein sieht
Wenn der Fehler nicht in der Liste enthalten ist, wird er beendet.
Die Fehlernummer befindet sich in der Spalte „last_errno“ von „SHOW SLAVE STATUS“.
--error-text
Typ: Zeichenfolge
Starten Sie nur Fehler neu, die diesem Muster entsprechen. Ein regulärer Perl-Ausdruck, gegen den
der Fehlertext, falls vorhanden, wird abgeglichen. Wenn der Fehlertext existiert und übereinstimmt, wird pt-slave-
restart versucht, den Slave neu zu starten. Wenn es existiert, aber nicht übereinstimmt, pt-slave-
Der Neustart wird beendet.
Der Fehlertext befindet sich in der Spalte „last_error“ von „SHOW SLAVE STATUS“.
--help
Hilfe anzeigen und beenden.
--Gastgeber
Kurzform: -h; Typ: Zeichenfolge
Mit Host verbinden.
--Protokoll
Typ: Zeichenfolge
Drucken Sie die gesamte Ausgabe in diese Datei, wenn sie dämonisiert ist.
--max-sleep
Typ: Schwimmer; Standard: 64
Maximale Schlafsekunden.
Die maximale Zeit, die pt-slave-restart im Ruhezustand bleibt, bevor der Slave erneut abgefragt wird. Das ist
außerdem die Zeit, die pt-slave-restart auf das Beenden aller anderen laufenden Instanzen wartet
wenn sowohl „--stop“ als auch „--monitor“ angegeben sind.
Siehe „SCHLAF“.
--min-sleep
Typ: Schwimmer; Standard: 0.015625
Die Mindestzeit, die pt-slave-restart in den Ruhezustand vergeht, bevor der Slave erneut abgefragt wird. Sehen
"SCHLAFEN".
--Monitor
Ob der Slave überwacht werden soll (Standard). Sofern Sie --monitor nicht explizit angeben,
„--stop“ deaktiviert es.
--Passwort
Kurzform: -p; Typ: Zeichenfolge
Passwort für die Verbindung. Wenn das Passwort Kommas enthält, müssen diese maskiert werden
mit Backslash: "exam\,ple"
--pid
Typ: Zeichenfolge
Erstellen Sie die angegebene PID-Datei. Das Tool startet nicht, wenn die PID-Datei bereits vorhanden ist und
die darin enthaltene PID unterscheidet sich von der aktuellen PID. Wenn jedoch die PID-Datei
existiert und die darin enthaltene PID nicht mehr ausgeführt wird, überschreibt das Tool die PID
Datei mit der aktuellen PID. Die PID-Datei wird beim Beenden des Tools automatisch entfernt.
--Hafen
Kurzform: -P; Typ: int
Portnummer, die für die Verbindung verwendet werden soll.
--ruhig
Kurzform: -q
Unterdrückt die normale Ausgabe (deaktiviert „--verbose“).
--rekursion
Typ: int; Standard: 0
Beobachten Sie die Slaves des angegebenen Servers bis zur angegebenen Anzahl von Servern tief im Inneren
Die Hierarchie. Die Standardtiefe von 0 bedeutet „nur den angegebenen Slave beobachten“.
pt-slave-restart untersucht „SHOW PROCESSLIST“ und versucht herauszufinden, welche Verbindungen vorhanden sind
sind von Sklaven, dann verbinde dich mit ihnen. Siehe „--recursion-method“.
Die Rekursion funktioniert, indem beim Programmstart alle Slaves gefunden und dann überwacht werden. Wenn
Es gibt mehr als einen Slave. „pt-slave-restart“ verwendet „fork()“, um sie zu überwachen.
Dies funktioniert auch, wenn Sie Ihre Slaves so konfiguriert haben, dass sie unter „SHOW SLAVE HOSTS“ angezeigt werden.
Die minimale Konfiguration hierfür ist der Parameter „report_host“, es gibt jedoch auch andere
„report“-Parameter auch für den Port, den Benutzernamen und das Passwort.
--recursion-method
Typ: Array; Standard: Prozessliste, Hosts
Bevorzugte Rekursionsmethode zum Finden von Slaves.
Mögliche Methoden sind:
VERWENDUNG DER METHODE
=========== ==================
Prozessliste PROZESSLISTE ANZEIGEN
hosts SLAVE-HOSTS ANZEIGEN
keine Finde keine Sklaven
Die Methode „Prozessliste“ wird bevorzugt, da SHOW SLAVE HOSTS nicht zuverlässig ist.
Allerdings ist die Hosts-Methode erforderlich, wenn der Server einen nicht standardmäßigen Port verwendet (nicht).
3306). Normalerweise macht pt-slave-restart das Richtige und findet die Sklaven, aber Sie
kann eine bevorzugte Methode angeben und diese wird zuerst verwendet. Wenn keine Sklaven gefunden werden,
Die anderen Methoden werden ausprobiert.
--Laufzeit
Typ: Zeit
Zeit zum Laufen vor dem Verlassen. Bewirkt, dass pt-slave-restart nach der angegebenen Zeit stoppt
ist abgelaufen. Optionales Suffix: s=Sekunden, m=Minuten, h=Stunden, d=Tage; wenn kein Suffix, s
wird eingesetzt.
--Wächter
Typ: Zeichenfolge; Standard: /tmp/pt-slave-restart-sentinel
Beenden Sie, wenn diese Datei vorhanden ist.
--set-vars
Typ: Array
Legen Sie die MySQL-Variablen in dieser durch Kommas getrennten Liste von "variable=value"-Paaren fest.
Standardmäßig sind die Werkzeugsätze:
wait_timeout=10000
In der Befehlszeile angegebene Variablen überschreiben diese Standardwerte. Zum Beispiel,
Die Angabe von "--set-vars wait_timeout=500" überschreibt den Standardwert von 10000.
Das Tool druckt eine Warnung und fährt fort, wenn eine Variable nicht gesetzt werden kann.
--skip-count
Typ: int; Standard: 1
Anzahl der Anweisungen, die beim Neustart des Slaves übersprungen werden sollen.
--master-uuid
Typ: Zeichenfolge
Bei Verwendung von GTID sollte eine leere Transaktion erstellt werden, um diese zu überspringen. Wenn
Schreibvorgänge kommen von verschiedenen Knoten im obigen Replikationsbaum, dies ist jedoch nicht der Fall
Es ist möglich zu wissen, welches Ereignis von welcher UUID übersprungen werden soll.
Standardmäßig werden Transaktionen vom Master des Slaves („Master_UUID“ aus „SHOW SLAVE
STATUS") werden übersprungen.
Zum Beispiel mit
Master1 -> Slave1 -> Slave2
Beim Überspringen von Ereignissen auf Slave2, die auf Master1 geschrieben wurden, müssen Sie die UUID angeben
von Master1, andernfalls verwendet das Tool standardmäßig die UUID von Slave1.
Siehe „GLOBALE TRANSAKTIONS-IDS“.
--Schlaf
Typ: int; Standard: 1
Erste Ruhesekunden zwischen der Überprüfung des Slaves.
Siehe „SCHLAF“.
--Steckdose
kurz Formen; Typ: Zeichenfolge
Socket-Datei, die für die Verbindung verwendet werden soll.
--halt
Stoppen Sie die Ausführung von Instanzen, indem Sie die Sentinel-Datei erstellen.
Bewirkt, dass „pt-slave-restart“ die durch „--sentinel“ angegebene Sentinel-Datei erstellt. Das
sollte dazu führen, dass alle laufenden Instanzen gestoppt werden, die dasselbe beobachten
Sentinel-Datei. Wenn „--monitor“ nicht angegeben ist, wird „pt-slave-restart“ danach beendet
Erstellen der Datei. Wenn es angegeben ist, wartet „pt-slave-restart“ das Intervall
gegeben durch „--max-sleep“, dann entfernen Sie die Datei und fahren Sie mit der Arbeit fort.
Dies kann hilfreich sein, um Cron-Jobs bei Bedarf ordnungsgemäß zu stoppen oder einen zu ersetzen
laufende Instanz mit einer anderen. Zum Beispiel, wenn Sie anhalten und neu starten möchten
„pt-slave-restart“ jede Stunde (nur um sicherzustellen, dass es jede Stunde neu gestartet wird, in
Falls es zu einem Serverabsturz oder einem anderen Problem kommt), könnten Sie eine „crontab“-Zeile wie verwenden
Dies:
0 * * * * pt-slave-restart --monitor --stop --sentinel /tmp/pt-slave-restartup
Der nicht standardmäßige „--sentinel“ stellt sicher, dass der stündliche „cron“-Job nur Instanzen stoppt
zuvor mit denselben Optionen gestartet (d. h. mit demselben „Cron“-Job).
Siehe auch „--sentinel“.
--until-master
Typ: Zeichenfolge
Führen Sie diese Master-Protokolldatei aus und positionieren Sie sie. Starten Sie den Slave und versuchen Sie es erneut, wenn er fehlschlägt.
bis es die angegebenen Replikationskoordinaten erreicht. Die Koordinaten sind die Logdatei
und Position auf dem Master, gegeben durch Relay_master_log_file, exec_master_log_pos. Der
Das Argument muss das Format „file,pos“ haben. Trennen Sie den Dateinamen und die Position durch ein
einzelnes Komma und kein Leerzeichen.
Dadurch wird auch eine UNTIL-Klausel an START SLAVE übergeben.
Nach Erreichen dieses Punktes sollte der Slave gestoppt werden und pt-slave-restart wird beendet.
--until-Relay
Typ: Zeichenfolge
Führen Sie diese Weiterleitungsprotokolldatei aus und positionieren Sie sie. Wie „--until-master“, aber im Slave-Stil
Stattdessen werden Protokolle weitergeleitet. Die Koordinaten werden durch „relay_log_file“, „relay_log_pos“ angegeben.
--Benutzer
Kurzform: -u; Typ: Zeichenfolge
Benutzer für die Anmeldung, wenn nicht aktueller Benutzer.
- ausführlich
Kurzform: -v; kumulativ: ja; Standard: 1
Seien Sie ausführlich; kann mehrfach angegeben werden. Verbosity 1 gibt Verbindungsinformationen aus, a
Zeitstempel, Relay_log_file, Relay_log_pos und last_errno. Verbosity 2 fügt hinzu
last_error. Siehe auch „--error-length“. Verbosity 3 gibt die aktuelle Ruhezeit aus
Jedes Mal, wenn pt-slave-restart schläft.
--Version
Version anzeigen und beenden.
--[no]Versionsprüfung
Standard: ja
Suchen Sie nach der neuesten Version von Percona Toolkit, MySQL und anderen Programmen.
Dies ist eine Standardfunktion "Automatisch nach Updates suchen" mit zwei zusätzlichen
Merkmale. Zuerst prüft das Tool die Version anderer Programme auf dem lokalen System in
zusätzlich zu einer eigenen Version. Zum Beispiel überprüft es die Version jedes MySQL-Servers
es verbindet sich mit Perl und dem Perl-Modul DBD::mysql. Zweitens prüft es und warnt
über Versionen mit bekannten Problemen. MySQL 5.5.25 hatte beispielsweise einen kritischen Fehler und
wurde als 5.5.25a wiederveröffentlicht.
Alle Aktualisierungen oder bekannten Probleme werden vor der normalen Ausgabe des Tools an STDOUT ausgegeben.
Diese Funktion sollte niemals den normalen Betrieb des Werkzeugs beeinträchtigen.
Für weitere Informationen besuchen Sie .
Version anzeigen und beenden.
dsn OPTIONAL
Diese DSN-Optionen werden verwendet, um einen DSN zu erstellen. Jede Option wird wie "option=value" angegeben.
Bei den Optionen muss die Groß-/Kleinschreibung beachtet werden, sodass P und p nicht dieselbe Option sind. Es kann nicht sein
Leerzeichen vor oder nach dem "=" und wenn der Wert Leerzeichen enthält, muss er in Anführungszeichen gesetzt werden.
DSN-Optionen sind durch Kommas getrennt. Ausführliche Informationen finden Sie auf der percona-toolkit-Manpage.
· EIN
dsn: Zeichensatz; kopieren: ja
Standardzeichensatz.
· D
dsn: Datenbank; kopieren: ja
Standarddatenbank.
· F.
dsn: mysql_read_default_file; kopieren: ja
Nur Standardoptionen aus der angegebenen Datei lesen
· H
dsn: host; kopieren: ja
Mit Host verbinden.
· P
dsn: Passwort; kopieren: ja
Passwort für die Verbindung. Wenn das Passwort Kommas enthält, müssen diese maskiert werden
mit Backslash: "exam\,ple"
· P.
dsn: port; kopieren: ja
Portnummer, die für die Verbindung verwendet werden soll.
· S
dsn: mysql_socket; kopieren: ja
Socket-Datei, die für die Verbindung verwendet werden soll.
· du
dsn: Benutzer; kopieren: ja
Benutzer für die Anmeldung, wenn nicht aktueller Benutzer.
Die Umgebungsvariable "PTDEBUG" ermöglicht die ausführliche Debugging-Ausgabe an STDERR. Ermöglichen
Debuggen und die gesamte Ausgabe in eine Datei erfassen, führen Sie das Tool wie folgt aus:
PTDEBUG=1 pt-slave-restart ... > DATEI 2>&1
Seien Sie vorsichtig: Die Debug-Ausgabe ist umfangreich und kann mehrere Megabyte an Ausgabe erzeugen.
SYSTEM VORAUSSETZUNGEN
Sie benötigen Perl, DBI, DBD::mysql und einige Kernpakete, die in jedem installiert werden sollten
relativ neue Version von Perl.
Verwenden Sie pt-slave-restartp online über die Dienste von onworks.net