MySQL Spiegelung reparieren

Es gibt viele Szenarien, in denen es Sinn macht zwei SQL Server als Master und Slave zu betreiben. Problematisch ist es, wenn die Server nicht mehr synchron sind. Das kann durch eine ganze Reihe von Problemen passieren: die vollständige Liste der Fehlercodes gibt es hier direkt vom Hersteller.

Den Fehler kann man per Kommando auf der SQL Console des Slave Servers bequem erfragen:

mysql> show slave status\G

Das bewirkt eine Auflistung diverser Variablen. Läuft der Slave nicht ordnungsgemäß, sieht man das schnell am Slave_SQL_Running:

Slave_SQL_Running: No
Seconds_Behind_Master: NULL

Wird einem ein Fehler angezeigt, so hat man direkt einen Anhaltspunkt, warum es zum Fehler kam:

 

Last_SQL_Errno: 1062
Last_SQL_Error: Error 'Duplicate entry [...]' 

Hierbei hilft einem erneut die Liste der Fehlercodes. Sofern man identifiziert hat, woher der Fehler kommt und was ihn verursacht hat, kann man versuchen den Befehl zu überspringen:

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; 
mysql> START SLAVE;

Danach sollte der Slave sich wieder mit dem Master synchronisieren. Sollten Slave und Master zu weit auseinander sein, empfiehlt es sich den Slave manuell mit dem Datenbestand des Masters zu versorgen.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*