Rücksicherung mysql

Alle Themen rund um die Rücksicherung der Daten.
Antworten
Marcel81
Beiträge: 11
Registriert: 08.07.2014, 08:59

Rücksicherung mysql

Beitrag von Marcel81 » 24.08.2016, 09:20

Hallo zusammen,

ich möchte gern ein paar Anregungen / Vorschläge zur folgenden Problematik.

Unser mysql Server läuft mit aktivierten Binarylogs. Dies bedeutet, dass alle Änderungen in der Db zusätzlich in den Logs protokolliert werden. AUCH DB imports! Dies bedeutet, dass der restore einer DB extrem lang wird.
Bei deaktivierten binary logs läuft der import eines 3GB Dumps in ca. 10 Minuten durch
bei aktivierten binary logs läuft der selbe Import knapp eine Stunde und es wird zusätzlich der selbe Platz nochmals für die Binary Logs benötigt, welche geschrieben werden.

Nun könnte man global dies deaktivieren, benötigt aber zumindest einen restart des mysql Deamons, welches nicht in Frage kommen soll! Weiterhin würden alle anderen DBs mit betroffen sein und für den Zeitraum des restores keine Änderungen der nicht betroffenen DBs protokolliert werden.

Daher gehen wir aktuell den Weg über Restore in ein File und dann manuell Import in die DB. Hier gibt es die Möglichkeit, die Binarylogs für die aktuelle Session zu deaktivieren.
Hier ein Beispiel:

mysql -uroot -p --init-command="SET SQL_LOG_BIN = 0;" --database=backuptest < tmp/restoretest.sql

Es müsste nun möglich sein, dass beim Restore über SEP direkt in die DB, dieser Parameter für die Restore-Session zu setzen geht. Bei kleinen DBs spielt das kaum eine Rolle.

Alle versuche diesen Parameter mit zu übergeben schlugen fehl.
Laut Support ist dies über den Restore Wizard aktuell nicht möglich. Daher bleibt die Hoffnung, dass es in späteren Releases noch mit eingebaut wird.

Meine Frage: wie gehen andere SEPsesam Nutzer damit um? Gibt es noch eine andere, praktischere Lösung für dieses Szenario? Oder generell einen anderen Ansatz?

Danke vorab.

Gruß, Marcel

jgebhardt
Beiträge: 189
Registriert: 15.09.2009, 16:33

Re: Rücksicherung mysql

Beitrag von jgebhardt » 17.11.2016, 15:23

Hallo,

laesst sich das init command auch in ein init-file auslagern ? Ich bin leider kein MySQL Spezi, deswegen zuerst die Frage.

Von sesam Seite könnte man dann in den restore options ("experten optionen") den Wert

-a init-file=/pfad_auf_sql_server/initfile

eintragen. Diese Option sollte dann korrekt übergeben werden, die beiden -- werden automatisch vorangestellt. Wie gesagt, ob der Inhalt der Datei dann überhaupt durch mysql ausgewertet wird weis ich nicht und habe auch keine DB zur Hand. Eigentlich ist das init-file für SQL Statements, keine Ahnung ob das Setzen von Variablen damit auch einfach so geht.

Gruss

Jens

Antworten