Batch MySQL Hostinglösung?

Rapid1898

Lt. Junior Grade
Registriert
Jan. 2012
Beiträge
312
Für ein Projekt möchte ich eine MySQL remote in der Cloud hosten und dann mit einem Python-Programm zugreifen.
(ich stelle mir das so vor, das ich im Batchbetrieb lokal die My SQL DB aktualisiere und dann tourlich in die gehostete MySQL spiegel)

Die Anforderungen dafür werden (vor allem zu Beginn) überschaubar sein - evt. in Zukunft wachsen.

Welcher MySQL Hostinganbieter wäre hier für den Anfang zu empfehlen - sollte nicht zu teuer sein.
 
Datenbanken so zu synchronisieren ist nicht ganz trivial, je nachdem was dein Ziel da ist. Ich würde generell nur mit einer Datenbank arbeiten in der die echten Daten sind, also in diesem Fall direkt gegen die remote DB das Python Skript ausführen statt den Umweg über die lokale DB. Für die Entwicklung und zum Testen ist natürlich eine lokale DB geeignet.

Generell ist es keine besonders gute Idee eine Datenbank direkt im Internet erreichbar zu konfigurieren. Typischerweise macht man das so das nur der Server der mit der DB redet eine Verbindung aufbauen darf. Wenn sicher Passwörter in der DB gesetzt sind ist das noch akzeptabel das zu machen, aber es ist eine nicht unerhebliche Angriffsfläche.

Die gehosteten DBs zielen schon eher auf den professionellen Bereich und die Preise sind entsprechend. Das kann man bei den großen wie AWS, Google und Azure bekommen, oder bei kleineren Cloud Anbietern wie Digital Ocean. Digital Ocean sind $15 pro Monat für die kleinste DB.

Es gibt sicher noch billigere Anbieter die ich nicht kenne, aber DBs sind auch etwas das ich nicht einfach irgendwem anvertrauen würde. Wenn es wirklich günstig sein soll, z.B. für den Hobby Bereich dann muss man die DB selbst verwalten in einer günstigen VM wie z.B. bei Hetzner ab ~3,50 EUR pro Monat. Wenn die Daten wichtig sind und man sie nicht verlieren will, sollte man halt genug wissen um gute Backups zu machen und in der Lage sein die Backups zu testen und wieder einzuspielen.
 
Du willst also nur eine MySQL Replikation haben? Was ist nicht zu teuer? Du musst ein Budget nennen.
 
Für den Anfang möchte ich nicht mehr als ca. 5 EUR pro Monat ausgeben dafür.

(am liebsten wäre mir evt. ein WebHosting wo auch eine MySQL-DB dabei ist die ich für das obige Projekt verwenden kann)
 
Die meisten, gerade billigen und günstigen, Webhostingangebote haben zwar die Nutzung einer oder mehrere DBs inkludiert jedoch sind diese DBs aus gutem Grund nur von den Webservern des Hosters erreichbar und dienen einem Zweck: Eine Datenbank ausliefern, jedoch nicht als secondary target einer Replikation zu dienen.

Wenn du dich nicht um den Betrieb des Unterbaus, sprich OS inkl. Härtung, regelmäßiges, zeitnahes und kontinuierliches einspielen von Patchen, Erstellung von Updates etc. kümmern willst dann bleibt dir nur PaaS.

Bei den großen 3 wären dies: Azure SQL, Google Cloud SQL oder AWS RDS. Afaik haben alle drei ein je ein Jahr lang begrenztes kostenloses Kontingent zum testen und ausprobieren. Ansonsten wirst du da nicht mit deinem Budget hinkommen...

Die Frage die sich mir stellt: Brauchst du wirklich eine Replikation mit einer immer verfügbaren zweiten Instanz aus der nur gelesen werden kann oder geht es dir hier eher um das Thema Backup und Verfügbarkeit?
 
Replikation ist übertrieben - ich möchte einfach die DB lokal aktualisieren und dann in die Cloud schieben.

Aber eigentlich könnte ich sicher auch die Aktualisierung gleich in der Cloud machen und lokal nur entwickeln + testen. Da wäre ich flexibel denk ich.
 
Änderungen machen > sqldump ausführen und den Dump $woanders importieren. Macht das Ganze natürlich direkt einfacher, die genannten PaaS-Anbieter liegen in Gesamtkosten aber vermutlich über deinem Budget. Bei OVH bekommst das kleinste Paket für knapp 7€
 
  • Gefällt mir
Reaktionen: BeBur
Servus!

Für eine relativ einfache Sache hast du das ganz schön kompliziert erklärt und leider waren die Antworten auch ziemlich komplizierter Tinnef. Meine Meinung.

Du holst dir einen Webspace wo du Datenbanken anlegen kannst. Bei Mittwald z.B. kannst du diese auch für den externen Zugriff freigeben. Falls du das etwas sicherer haben willst, kannst du die Datenbank auch nur für bestimmte IP-Adressen freigeben.

Und der zweite Punkt ist eine einfache Synchronisation der Datenbank mit einem Export und einem Import mit überschreiben. Das kannst du z.B. mit MySQLDumper machen.
 
  • Gefällt mir
Reaktionen: snaxilian
Zurück
Oben