Heute habe ich mal einen MySQL-Master-Server umgezogen und will hier festhalten, dass das gar kein Hexenwerk sein muss. Ich hoffe, dass ich alle Schritte zusammenkriege. Die Serverkonstellation sei wie gefolgt:
- Alter Master
- Neuer Master
- Slave
Alle Systeme laufen mit Debian Squeeze.
Continue reading “MySQL-Replikation: Master umziehen”
Wenn einem mal eine MySQL-Replikation so aussteigt, dass der Slave nicht mehr zu retten ist (z.B. wenn der Master unerwartet ausgefallen ist und sich der Slave “verschluckt”) und man keine andere Möglichkeit sieht, kann man den Slave mit ein paar Handgriffen und einem Vollexport/Fulldump der Master-Datenbank wieder flott machen.
Continue reading “MySQL-Replikation mit einem Voll-Export reparieren”
Kurz notiert:
Beim Erstellen eines Dumps lachte mich folgender Fehler an:
mysqldump: Got error: 1036: Table 'XXX' is read only when using LOCK TABLES
Continue reading “mysqldump: Got error: 1036: Table ‘XXX’ is read only when using LOCK TABLES”
Vor ein paar Tagen habe ich einen Eintrag geschrieben, wie man mit MySQL das Alter berechnen kann. Nun möchte ich noch mal ein paar Hinweise geben, wie man verhindern kann, dass man beim Testen wahnsinnig wird – so wie es mir fast ergangen wäre.
Continue reading “Mit MySQL das Alter berechnen – Teil 2″
Mit MySQL kann man bekanntlich die tollsten Sachen erledigen (lassen) und so kann man auch mit einem kleinen SQL-Befehls-Konglomerat das Alter (einer Person) berechnen lassen.
Dazu benötigt man die folgenden Funktionen:
Continue reading “Mit MySQL das Alter berechnen – Teil 1″
Eben haben wir mit mehreren Kollegen versucht eine MySQL-Abfrage mit “NOT EXIST” durchzuführen, was kläglich scheiterte. Im Nachhinein habe ich auch herausgefunden warum, es ist nämlich noch eine schöne alte MySQL 4.0-Version gewesen. ;-)
Jedenfalls kann man die Sache in MySQL-Versionen < 4.1 ganz gut anders lösen.
Noch mal das Ziel: Jeweils ein Feld von zwei Tabellen auf Unterschiede prüfen – also alle IDs auflisten, die in Tabelle 1 vorkommen aber nicht in Tabelle 2.
Lösung (u.a.): [code lang="sql"]SELECT t1.feld FROM tabelle1 AS t1 LEFT JOIN tabelle2 AS t2 ON t1.feld = t2.feld WHERE t2.feld IS NULL[/code]