ubuntuusers.de

Mysql backup mit Master/Slave Replikation auf dem gleichen Server?

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

BattleSheep

Anmeldungsdatum:
16. August 2018

Beiträge: 17

Hey Leute, ich versuche, da mir beim letzten mal die Festplatte vom Server abgeschmiert ist, ein Backup mit der Master/Slave Replikation einzustellen. Ich habe dort auch mehrere Tutorials gefunden aber keins erläutert mir wie das läuft wenn sie das ganze auf dem gleich Root abspielt. Das Mysql Dump wird dann mit Duplicity auf einen ftps Server übertragen. Ich habe also mit Plesk 2 MySQL Server erstellt einen auf Port 3306 und einen auf 3310. in der my.cnf unter [mysqld] finde ich aber nur den Server mit Port 3306.

Meine frage ist nun ist das die beste möglichkeit die Datenbanken zu backupen? Ist es überhaupt möglich einen zweiten Datenbankserver auf dem gleichen root zu installieren? Gibt es eine andere möglichkeit mysqldumps zu erstellen ohne das die Datenbank in der Zeit nicht erreichbar ist?

Leubi

Avatar von Leubi

Anmeldungsdatum:
23. April 2017

Beiträge: 36

Moin, du kannst dir Dumps mit MySQL Dumper ziehen, MySQL Dumper bekommst du hier. https://www.oos-shop.de/ in der Zip-Datei findest du einen Ordner msd das ist MySQL Dumper, der funktioniert auch mit PHP 7. oder du machst dir ein Script mit dem du die Dumps ziehen kannst.

Into_the_Pit Team-Icon

Ehemalige
Avatar von Into_the_Pit

Anmeldungsdatum:
25. Juni 2008

Beiträge: 9490

Wohnort: Bochum

BattleSheep schrieb:

Ist es überhaupt möglich einen zweiten Datenbankserver auf dem gleichen root zu installieren?

MariaDB und MySQL mögen es z.B. nicht, wenn man sie versucht parallel auf einem System zu installieren. Was gehen würde, wäre ein MariaDB/MySQL und zusätzlich ein PostgreSQL aber der Sinn dahinter erschließt sich mir nicht, da Du so einen SPOF hast und man das bei Datenbanken im Regelfall eigentlich nicht haben will.

Gibt es eine andere möglichkeit mysqldumps zu erstellen ohne das die Datenbank in der Zeit nicht erreichbar ist?

Für gewöhnlich macht man das Backup auf dem Slave, um eben die eigentliche Datenbank, welche in Benutzung ist, nicht zu blockieren. Sofern die Replikation sauber läuft, sollten die Daten auch identisch sein.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

BattleSheep schrieb:

ich versuche, da mir beim letzten mal die Festplatte vom Server abgeschmiert ist, ein Backup mit der Master/Slave Replikation einzustellen.

Der Master-Slave-Mechanismus von MySQL ist eher für Hochverfügbarkeit und nicht für Backups gedacht. Wenn man sowieso einen Slave hat, dann kann man die Dumps auf diesem Server machen, aber ansonsten würde ich einfach einen günstigen Zeitpunkt wählen.

Ich habe dort auch mehrere Tutorials gefunden aber keins erläutert mir wie das läuft wenn sie das ganze auf dem gleich Root abspielt.

Weil man das normalerweise nicht macht.

Das Mysql Dump wird dann mit Duplicity auf einen ftps Server übertragen.

Mach einfach einen Dump und schalte die Binlogs an. Wenn dir der Server stirbt kannst du aus Backup und Binlogs den Stand bis kurz vorm Ausfall rekonstruieren.

Meine frage ist nun ist das die beste möglichkeit die Datenbanken zu backupen? Gibt es eine andere möglichkeit mysqldumps zu erstellen ohne das die Datenbank in der Zeit nicht erreichbar ist?

Wenn du einen Dump mit mysqldump machst, werden wird tabellenweise gelockt. Das heißt die Datenbank ist weiterhin erreichbar, allerdings warten alle Queries, welche auf eine vom Backup gelockte Tabelle zugreifen wollen. Je nach Größe der Tabelle dauert das aber meist nicht ewig. Wir machen das Nachts bei wenig Bewegung auf den Portalen und haben keine Probleme damit. In Verbindung mit den Binlogs kannst du das ganze zu fast jedem Zeitpunkt wiederherstellen.

Antworten |