SystemError Geschrieben 12. August 2005 Teilen Geschrieben 12. August 2005 Hallo Leute, schreibe hier gerade an einem BackupScript (KSH), das MySQL Datenbanken via LVM2 SnapShot sichern soll. Vor dem Erzeugen des LVM2 SnapShots ist es notwendig einen "FLUSH TABLES WITH READ LOCK" abzusetzen, siehe: http://dev.mysql.com/doc/mysql/en/flush.html Ungünstig (für meine Zwecke) ist jetzt nur, dass mir der ReadLock wieder flöten geht sobald die MySQL Client Verbindung, aus der der Lock abgesetzt wurde, beendet wird. Also starte ich aus dem Script einen KSH CoProzess in dem der MySQL Client läuft; mit print -p schreibe ich dann das FLUSH TABLES WITH READ LOCK Kommando an den CoProzess // MySQL Client. Sobald dieses Kommando zurück kommt; sprich sobald MySQL keine "Dirty Pages" mehr im RAM hält will ich dann den LVM2 SnapShot erzeugen. Und genau da habe ich dann auch mein eigentliches Problem: Ich muss sicherstellen dass der FLUSH TABLES durch ist bevor ich den SnapShot erzeuge. Wie? 2 Möglichkeiten sind mir so in den Sinn gekommen ...: 1.) Irgendwie die Query OK, 0 rows affected Zeile des zurückkommenden FLUSH TABLES abfangen. Evtl. mit read -p Ist wohl eher ein ShellProblem, hier bin ich nicht wirklich weitergekommen. 2.) Aus einer weiteren MySQL Client Verbindung irgendwie abfragen ob es noch "Dirty Pages" im RAM gibt. Blos wie? Optimal fände ich Anregungen zu letzterem. Ach ja: BetriebsSystem: RedHat Enterprise Linux 4 für Intel32 + alle verfügbaren Updates. MySQL: mysql-server-4.1.10a-2.RHEL4.1 Schon mal Danke && Bye SystemError Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SystemError Geschrieben 12. August 2005 Autor Teilen Geschrieben 12. August 2005 Kleiner Nachtrag: Sind MYISAM Tabellen. Bye SystemError Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.