VPS für MySQL

Einer kleinen MySQL- oder MariaDB-Datenbank genügen 2 GB RAM und 20 GB auf NVMe. Tarife mit dem günstigsten Preis pro GB RAM zuerst.

VPS-Auswahl in vier Fragen
9.826 Tarife
Sortieren nach

VPS für MySQL: Preise, Anbieter und Zahlungsmethoden

In der Auswahl: 9.826 Tarife bei 1.113 Anbietern. Preise ab 0,72 € pro Monat, ein Viertel der Tarife ist günstiger als 15,08 €, die Hälfte günstiger als 32,80 €. Auf NVMe: 100 % der Tarife, mit unbegrenztem Traffic: 36 %, mit stündlicher Abrechnung: 11 %.

Die günstigsten Anbieter

  1. Çelen Hosting Information Tech.DE-VDS-01 · 1 Kern · 2 GB0,72 €
  2. CloudTechtiqProfessional Cloud VPS · 4 Kerne · 8 GB1,03 €
  3. RocketCloudIaaS Lite 1 vCPU / 2 ГБ · 1 Kern · 2 GB1,09 €
  4. TierHiveSTANDARD · 1 Kern · 2 GB1,53 €
  5. HostVDSHostVDS 2 · 1 Kern · 2 GB1,77 €

Preis nach RAM-Größe

RAMTarifePreis ab
ab 1 GB9.8260,72 €
ab 2 GB9.8260,72 €
ab 4 GB8.5501,03 €
ab 8 GB6.4621,03 €
ab 16 GB4.0362,42 €

Zahlungsmethoden

  • Bankkarte636 57%
  • Kryptowährung323 29%

Wie viele Anbieter aus der Auswahl die Zahlungsmethode akzeptieren.

VPS für MySQL und MariaDB: Buffer Pool, langsame Abfragen und Backups

MySQL und MariaDB sind die Datenbanken hinter WordPress, Bitrix, OpenCart und den meisten PHP-Projekten. Eine kleine Datenbank läuft problemlos auf demselben VPS wie die Website, die Standardeinstellungen sind jedoch auf einen minimalen Server ausgelegt: ein Buffer Pool von 128 MB, langsame Abfragen werden nicht protokolliert. Hier lesen Sie, was Sie ändern sollten und worauf es bei der Tarifwahl ankommt.

innodb_buffer_pool_size: der wichtigste Parameter

InnoDB hält die Seiten von Tabellen und Indizes im Buffer Pool. Solange die heißen Daten hineinpassen, greifen Abfragen kaum auf die Festplatte zu. Einen praktischen Richtwert liefert MySQL selbst: Der Modus innodb_dedicated_server weist dem Pool auf Servern mit 1–4 GB die Hälfte des Arbeitsspeichers zu und auf Servern mit mehr als 4 GB drei Viertel. Diese Regel gilt für eine Maschine, auf der nur die Datenbank läuft. Laufen auf demselben VPS PHP-FPM, Webserver und Redis, ziehen Sie deren Verbrauch ab und berechnen erst dann den Pool.

Ob der Pool ausreicht, verraten die Zähler: Vergleichen Sie Innodb_buffer_pool_reads (Lesezugriffe von der Festplatte) mit Innodb_buffer_pool_read_requests (alle Zugriffe). Ist der Anteil der Festplattenzugriffe spürbar und steigt er, ist der Speicher zu knapp. In MySQL 8 lässt sich die Pool-Größe im laufenden Betrieb per SET GLOBAL ändern, ohne Neustart, sodass Sie den Wert unter realer Last abstimmen können.

Der zweite Parameter, den Sie bei einer Datenbank mit vielen Schreibvorgängen prüfen sollten, ist die Größe des Redo-Logs. Ist es zu klein, schreibt InnoDB geänderte Seiten zu oft auf die Festplatte, und das Schreiben läuft stoßweise. Seit Version 8.0.30 legt innodb_redo_log_capacity die Größe fest, anstelle der früheren innodb_log_file_size und innodb_log_files_in_group; in MariaDB wird weiterhin innodb_log_file_size verwendet.

Der übrige Speicherverbrauch entfällt auf die Verbindungen: Sortier- und Join-Puffer werden pro Thread zugewiesen. Ein hoher Wert für max_connections „für alle Fälle“ führt bei Spitzenlast zu einem OOM. Für eine typische CMS-Website genügt ein VPS mit 4 GB; ein Shop mit großem Katalog braucht mehr.

Das Slow Query Log

Meist bremst den Datenbankserver nicht ein schwacher Tarif aus, sondern ein paar Abfragen ohne Index. Aktivieren Sie das Protokoll für langsame Abfragen:

  • slow_query_log = ON und long_query_time = 1 – standardmäßig liegt die Schwelle bei 10 Sekunden, und das Log bleibt fast leer;
  • log_queries_not_using_indexes – nur kurzzeitig bei der Fehlersuche: Auf einem ausgelasteten Server wächst das Log schnell;
  • eine Zusammenfassung erstellen Sie mit mysqldumpslow oder pt-query-digest, eine verdächtige Abfrage analysieren Sie mit EXPLAIN.

Typische Funde sind eine Sortierung nach einem Feld ohne Index, LIKE '%…%' auf einer großen Tabelle und Abfragen auf Options- und Metadatentabellen von CMS-Plugins. Ein in fünf Minuten angelegter Index bringt oft mehr als der Umzug auf einen doppelt so teuren Tarif. Die Besonderheiten der Datenbanken beliebter CMS behandeln die Seiten VPS für WordPress und VPS für Bitrix.

Backups: Dump, physische Kopie und Binlog

  • mysqldump mit der Option --single-transaction erstellt eine konsistente Kopie der InnoDB-Tabellen, ohne Schreibvorgänge zu blockieren. Geeignet für Datenbanken bis zu einigen zehn Gigabyte; das Einspielen eines großen Dumps dauert Stunden, weil alle Indizes neu aufgebaut werden.
  • Physische Kopie – Percona XtraBackup für MySQL oder mariadb-backup für MariaDB. Sie kopiert die Datendateien im laufenden Betrieb und lässt sich um ein Vielfaches schneller wiederherstellen; für große Datenbanken ist das die Hauptmethode.
  • Das Binärlog (Binlog) ermöglicht zusätzlich zu jeder dieser Kopien die Wiederherstellung auf einen bestimmten Zeitpunkt: Sie spielen die Kopie ein und anschließend die Binlog-Ereignisse bis zur gewünschten Position. Die Aufbewahrungsdauer legt binlog_expire_logs_seconds fest; in MySQL 8 sind es standardmäßig 30 Tage, und bei einer aktiven Datenbank belegen die Logs mehr Platz als die Daten selbst.

Schicken Sie die Kopien auf ein System außerhalb des Servers – etwa auf einen VPS für Backups – und testen Sie die Wiederherstellung regelmäßig auf einer Testmaschine. Ein Backup, das nie eingespielt wurde, ist nur die Hoffnung auf ein Backup.

Replikation und Schreibsicherheit

Eine Replik auf einem zweiten Server brauchen Sie, um bei einem Ausfall schnell umzuschalten und schwere Berichte von der Hauptdatenbank fernzuhalten. Richten Sie sie mit GTID ein: So lassen sich Rollen leichter tauschen und neue Repliken einfacher anbinden. Bedenken Sie, dass eine asynchrone Replik hinterherhinken kann und eine gerade geschriebene Zeile dort noch nicht sichtbar ist. Die Verzögerung sehen Sie in SHOW REPLICA STATUS (Feld Seconds_Behind_Source), und die Verbindung zwischen den Servern sollte über ein privates Netzwerk oder WireGuard laufen.

Für die Datensicherheit belassen Sie die Standardwerte innodb_flush_log_at_trx_commit = 1 und sync_binlog = 1: Jeder Commit wird auf die Festplatte geschrieben. Genau hier zeigt sich der Unterschied zwischen Festplatten – auf NVMe dauert ein synchroner Schreibvorgang Bruchteile einer Millisekunde, auf einem überlasteten gemeinsamen Array wird das Warten darauf zur größten Bremse.

Häufige Fragen

Wie viel Arbeitsspeicher braucht MySQL auf einem VPS?

Einer kleinen Website-Datenbank reichen 1–2 GB für den Buffer Pool auf einem Server mit 2–4 GB. Als Richtwert gilt: Heiße Tabellen und Indizes sollten vollständig in innodb_buffer_pool_size passen.

Welchen Wert soll ich für innodb_buffer_pool_size setzen?

Auf einem reinen Datenbankserver 50 % des Arbeitsspeichers bei 1–4 GB und etwa 75 % bei mehr Speicher. Laufen auf dem VPS zusätzlich Website und PHP, ziehen Sie deren Verbrauch ab.

MySQL oder MariaDB: Was soll ich wählen?

Für ein CMS gibt es kaum einen Unterschied, beide sind mit typischen Anwendungen kompatibel. Installieren Sie die Variante, die Ihre Anwendung oder Distribution empfiehlt; ein Wechsel zwischen den neuesten Versionen verläuft nicht mehr immer reibungslos.

Wie finde ich langsame Abfragen?

Aktivieren Sie slow_query_log mit der Schwelle long_query_time = 1 Sekunde, sammeln Sie das Log einen Tag lang und erstellen Sie eine Zusammenfassung mit mysqldumpslow oder pt-query-digest.

Womit sichere ich eine große MySQL-Datenbank?

Mit einer physischen Kopie über Percona XtraBackup oder mariadb-backup: Sie wird ohne Stillstand erstellt und lässt sich viel schneller wiederherstellen als ein Dump. Das Binärlog ermöglicht zusätzlich die Wiederherstellung auf einen gewünschten Zeitpunkt.

Kann ich Port 3306 für Fernzugriff öffnen?

Öffnen Sie ihn nicht zum Internet: Port 3306 wird ständig gescannt, und Passwörter werden durchprobiert. Verbinden Sie sich über einen SSH-Tunnel oder ein privates Netzwerk und belassen Sie bind-address auf localhost oder einer internen Adresse.

Was kostet VPS für MySQL?

Ab 0,72 € pro Monat. Ein Viertel der Tarife ist günstiger als 15,08 €, die Hälfte günstiger als 32,80 €. Insgesamt 9.826 Tarife bei 1.113 Anbieter.

Kann man VPS für MySQL per Bankkarte oder Kryptowährung bezahlen?

Per Bankkarte bei 636 Anbieter von 1113 (57%), per Kryptowährung bei 323 (29%). Die Zahlungsmethoden jedes Tarifs stehen in der Spalte „Zahlung“.

Was kostet VPS für MySQL mit 2 GB RAM?

Ab 0,72 € pro Monat; mit 4 GB ab 1,03 €, mit 8 GB ab 1,03 €.

In welchen Ländern gibt es die meisten Tarife?

Die meisten Tarife gibt es in den USA, in Deutschland und in den Niederlanden. Das Land können Sie im Filter wählen – Preise und Zahlungsmethoden werden neu berechnet.

VPS/VDS-Sammlungen

alle 454 →

Preise und Parameter stammen von den Websites der Anbieter; prüfen Sie sie vor der Zahlung auf der Website – Anbieter ändern Tarife ohne Vorankündigung.