Vor knapp 2h hab ich von meinem Postfix auf arisu ein Mail gekriegt, das er keinen Platz auf der Disk mehr hat um seine Mails zu queuen. Also erstmal per SSH auf der Kiste eingeloggt, und tatsaechlich /var ist bis auf ein paar Megabyte voll.
Nach kurzem Suchen festgestellt das die MySQL Replication Relay Logs mehrere Gigabyte gross sind. Naja, selbst schuld, aber hab ich nicht die automatische Loesch-Dingens aktiviert?
Ein bisschen in den Logs stoebern foerdert zutage das er n Problem bei parsen eines Events aus dem Binlog hatte (???, wohl ein Bug), und deswegen einfach nix mehr gemacht. Aber natuerlich fleissig die neuen Logs empfangen und weitergeschrieben. Natuerlich konnte er noch-nicht verarbeitete Logs nicht loeschen.
Okay.. Schnell gegoogelt was in so nem Fall machen soll:
Replikation neu aufsetzen. Nuja. Toll. Das ist ja auch eher eine nontriviale angelegenheit. Zuerst mal aufm Master einloggen.
FLUSH TABLES WITH READ LOCK;
Dieses Kommando legt einen write(!!!!!!!!) lock auf saemtliche tabellen an. Nachdem man das Gemacht hat kann ich erstmal mit mysqldump die gesamte DB in ein File dumpen, auf arisu kopieren, dort einlesen. Dann kann ich mir die aktuelle binlog position mit SHOW MASTER STATUS; anzeigen lassen, notieren(!).
Dann muss ich mit CHANGE MASTER TO diverse komische obskure Parameter setzen. Irgendwann funktionierte der ganze Scheiss dann auch wieder.
Benoetigte Zeit: Irgendwie 2 Stunden. MySQL suckt wirklich, so scheiss sollte sich mit 1 Kommando pro Instanz machen lassen. OSS suckt.
Gehen wir mal davon an du laesst das ganze von einem durchschnittlich begabten Unix Admin aufsetzen. Der hat n bisschen mehr Ahnung als ich und kriegts in ner Stunde hin. Kostet 300CHF /h. Bei allen Configaenderungen und Updates gehen nochmal ein paar Stunden Arbeit drauf. Also Total irgendwie 2k CHF.
Bei MSSQL kannst du dich selbst innert etwas Zeit reinarbeiten. Dafuer zahlst du 2k fuer Lizenzen.
Hast du dich schonmal mit Mysql Max versucht, das ehemalige SAPDB. Sollte ja eigentlich etwas stabiler sein und bessere Backup und Recovery möglichkeiten haben.