← Datenbanken
MY

MySQL

Aktiviere MySQL für eine App, und Railyard legt eine Datenbank und einen User an und schreibt die Verbindungsdaten ein, bevor der nächste Build läuft. Hier ist genau, was du bekommst, was gesichert wird, und wie du von außen darauf zugreifst.

Was du bekommst

  • MySQL 8 (mysql:8), eine Datenbank und ein User pro App (app_<id>), angelegt mit CREATE DATABASE und CREATE USER, mit Rechten auf der eigenen Datenbank plus allen per Musterabgleich erkannten zusätzlichen Datenbanken, die die App angibt.
  • Geplante Backups standardmäßig alle 24 Stunden, jedes davon durch Wiederherstellung bestätigt. Mindestens die letzten 7 bleiben immer erhalten, alles, was älter als 30 Tage ist und außerhalb dieser Menge liegt, wird gelöscht; beide Werte sind pro Datenbank konfigurierbar.
  • Ein Standby auf einem zweiten Datenbankserver (Pro und Team) hält eine Live-Kopie und übernimmt automatisch, wenn der Primärserver 3 Minuten lang nicht antwortet, derselbe Mechanismus wie bei Postgres.
  • Keine Point-in-Time-Recovery für MySQL, das gibt es nur für Postgres.
  • MariaDB steht als direkter Ersatz im Vorlagen-Katalog zur Verfügung, falls du dasselbe Wire-Protokoll unter einem von der Community verwalteten Fork willst.

Wie du sie hinzufügst

  1. 1

    MySQL bei der App-Erstellung aktivieren

    Bei New app, oder später unter Edit → Add-ons, MySQL aktivieren und deployen. Railyard schreibt DATABASE_URL, DATABASE_HOST, DATABASE_PORT, DATABASE_NAME, DATABASE_USER und DATABASE_PASSWORD ein, bevor der Build läuft.

  2. 2

    Oder über die CLI hinzufügen

    railyard apps create <name> <git-url> --addons mysql macht dasselbe vom Terminal aus.

  3. 3

    Von deiner eigenen Maschine verbinden

    Öffne Trusted addresses auf der Datenbank-Karte und erlaube deine IP. Railyard öffnet einen TCP-Proxy für genau diese Adresse; jeder MySQL-Client kann sich dann mit demselben Passwort verbinden, und die Karte gibt dir den genauen Befehl zum Einfügen.

Ein Beispiel per Klick

Ghost ist eine vollständige Publishing-Plattform, die MySQL von Haus aus erwartet, ein direktes Beispiel für eine App, die das Add-on nutzt, statt einer leeren Datenbank, auf die nichts zeigt.

Ghost deployen Free-Plan, keine Karte.

Oder eine eigenständige Instanz deployen deployt eine eigenständige MySQL-Instanz ohne alles andere, falls das alles ist, was du brauchst.

FAQ

Was kostet MySQL auf Railyard?
Es gibt keinen separaten Posten. MySQL läuft auf dem Server, den du bereits bezahlst, im Rahmen deines Plans. Ein dedizierter Datenbankserver ist ein eigener Server zum normalen Preis, und ein Standby für automatisches Failover braucht Pro oder Team.
Wie werden Backups aufbewahrt, und kann ich selbst eines wiederherstellen?
Jede Datenbank auf einem Datenbankserver wird nach einem Zeitplan gesichert, standardmäßig alle 24 Stunden, und jedes Backup wird in eine Testdatenbank wiederhergestellt, um zu bestätigen, dass es wirklich gut ist, bevor es als verifiziert markiert wird. Die Wiederherstellung in die laufende App ist ein Klick von der Datenbank-Karte aus.
Wie verbinde ich mich von außen, mit einer GUI oder dem mysql-Client?
Öffne Trusted addresses auf der Datenbank-Karte und füge deine IP hinzu. Railyard öffnet einen TCP-Proxy nur für diese eine Adresse; jede andere Adresse bleibt blockiert, und das Passwort ist weiterhin nötig. Die Karte zeigt dir den genauen Connection String zum Einfügen.
Wie migriere ich eine bestehende MySQL-Datenbank?
Richte die App unter Resources → Use an outside service auf die externe URL, während du die Daten überträgst, oder führe mysqldump gegen deine alte Datenbank aus und leite es direkt in die generierte DATABASE_URL.

Tutorials, die sie nutzen

Allgemeine Dokumentation