MySQL — Economy
Bitte beachte, dass während der Beta-Phase noch Änderungen auftreten können.
Wir empfehlen dir, dich nicht auf den Dienst zu verlassen, bis er allgemein verfügbar ist.
Während dieser Zeit kann die Ressourcenverwaltung über das Cockpit oder unser CLI-Tool nctl nur eingeschränkt oder gar nicht verfügbar sein.
Economy-Datenbanken laufen in einem logisch getrennten Mandanten in einer von Nine verwalteten gemeinsam genutzten Multi-Tenant-Umgebung. Dies macht sie zu einer perfekten Lösung für Nicht-Produktions- oder Niedrig-Traffic-Sites. Aufgrund ihrer schnellen Startzeit sind sie auch ideal für automatisierte Test-Pipelines.
Bei Economy erhältst du eine einzige Datenbank, während bei Business eine dedizierte Datenbankinstanz bereitgestellt wird, in der du mehrere Datenbanken erstellen und verwalten kannst.
Die folgende Tabelle gibt einen Überblick über die Unterschiede zwischen den Stufen:
| Stufe | Economy (Beta) Einzelne Datenbanken | Business Dedizierte Instanzen | First Managed Service |
|---|---|---|---|
| Verwaltbar in Cockpit / nctl | ☑️ | ☑️ | ✖️ |
| Backups | ☑️ | ☑️ | ☑️ |
| Dedizierte Ressourcen | ✖️ | ☑️ | ☑️ |
| Individuelle Konfiguration | ✖️ | Begrenzte Optionen | ☑️ |
| Cluster-Deployments | ✖️ | ✖️ | ☑️ |
| Beginnt bei | Bitte kontaktiere: |
Alle On-Demand-Datenbanken stützen sich auf Nines jahrelange Erfahrung im Betrieb von Managed Services und basieren auf derselben Infrastruktur und denselben Bausteinen. Economy- und Business-Datenbanken machen dieses Know-how als Self-Service-Angebot verfügbar, zugeschnitten auf unterschiedliche Bedürfnisse und Budgets, von einfachen Einzeldatenbanken bis hin zu vollständig dedizierten Instanzen. Die Abrechnung erfolgt automatisch basierend auf den genutzten Ressourcen.
Erste Schritte
Du kannst nctl oder Cockpit, unsere Weboberfläche, verwenden, um zu beginnen:
- Cockpit
- nctl
- Erstelle im Cockpit einen neuen Service .
- Ruf die Anmeldedaten von der Übersichtsseite ab. Notiere dir FQDN, Benutzername und Passwort.
Die Datenbank hat denselben Namen wie der Benutzer. - Verbinde dich mit der neu erstellten Datenbank:mysql --user=${USER} --host=${FQDN} --password=${PASSWORD} --database=${USER}
- Stelle sicher, dass du mit
nctlangemeldet bist:nctl auth login - Erstelle eine
mysqldatabase:nctl create mysqldatabase my-test-database - Verbinde dich mit der neu erstellten Datenbank:nctl get mysqldatabase my-test-database # notiere dir den FQDNnctl get mysqldatabase my-test-database --print-user # notiere dir den Benutzernctl get mysqldatabase my-test-database --print-password # notiere dir das Passwortmysql --user=${USER} --host=${FQDN} --password=${PASSWORD} --database=${USER}
Updates und Wartungsfenster
Sicherheits- und Softwareupdates werden in der Regel während des regulären Wartungsfensters durchgeführt.
Daher kann es während dieses Wartungsfensters zu kurzen Serviceunterbrechungen kommen, ohne dass dies vorher angekündigt wird.
Überwachung
Nine überwacht deine Datenbank mit einem Monitoring-System 24/7. Im Falle einer Fehlfunktion wird automatisch ein (Bereitschafts-) Techniker von Nine benachrichtigt, der den ordnungsgemässen Betrieb so schnell wie möglich wiederherstellt.
Eine vollständige Auslastung der Ressourcen wird nicht als Fehlfunktion bewertet. Du kannst die Grösse der Instanz jederzeit anpassen.
Konfigurationsoptionen
Die On-Demand Services bieten eine Basiskonfiguration, die für die meisten Anforderungen geeignet ist, wobei einige Optionen angepasst werden können. Die Anpassung der Konfigurationsoptionen kann zu einem Neustart der Instanz führen.
Die folgenden Konfigurationsparameter kannst du verwenden, um die Datenbankinstanz an deine Bedürfnisse anzupassen.
Name
Der Name der Datenbankinstanz kann frei gewählt werden, muss aber einzigartig sein. Nach der Erstellung kann der Name nicht mehr geändert werden.
Standort
Je nach verfügbaren Ressourcen können Instanzen an diesen Standorten erstellt werden:
| API / Cockpit Name | Name | Standort | Notizen |
|---|---|---|---|
| nine-cz42 | ColoZüri 4.2 | Altstetten, Zürich | |
| nine-es34 | NTT Zürich 1 | Rümlang | |
| nine-cz41 | ColoZüri 4.1 | Altstetten, Zürich | Neue Ressourcen können nicht mehr in diesem Standort erstellt werden. |
Der Standort kann nach der Erstellung der Ressource nicht mehr geändert werden.
Character Set
Der Zeichensatz ist anpassbar. Aus Erfahrung decken die Standardwerte utf8mb4_unicode_ci / utf8mb4 die meisten Bedürfnisse ab.
Bevor du eine Anpassung dieser Werte in Betracht ziehst, konsultiere bitte die MySQL-Dokumentation unter Character Sets and Collations in MySQL.
Preise
Datenbanken sind in verschiedene Pakete unterteilt:
| S | M | L | |
|---|---|---|---|
| Speicherplatz max. | 1 GB | 5 GB | 10 GB |
| Max. Verbindungen | 20 | 20 | 20 |
| Monatliche Gebühren |
Das Paket wird automatisch basierend auf der aktuellen Datenbankgrösse ausgewählt. Der Speicherplatz ist auf 10 GB begrenzt.
Verbindung
Benutzer
Bei der Erstellung der Instanz werden ein Benutzer und ein Passwort generiert. Weitere Informationen zum Abrufen der Anmeldedaten findest du im Abschnitt Erste Schritte.
TLS
Das CA-Zertifikat stimmt nicht mit dem Hostnamen des Dienstes überein. Möglicherweise musst du die Hostnamen-Überprüfung explizit deaktivieren.
Die On-Demand Services akzeptieren nur Verbindungen, die durch TLS gesichert sind. Je nach verwendetem Client oder verwendeter Bibliothek kann es erforderlich sein, TLS explizit zu aktivieren.
Das TLS-Zertifikat ist selbstsigniert. Zusätzlich zur Aktivierung der TLS-Transportverschlüsselung musst du möglicherweise die für die Validierung verwendete Zertifizierungsstelle bereitstellen.
Du kannst die CA entweder via Cockpit oder nctl abrufen:
- Cockpit
- nctl
- Öffne die On-Demand
Services Übersicht und
wähle den entsprechenden Service aus. 2. Die CA ist unter dem
Zertifikat-Tab der Ressource verfügbar.
- Stelle sicher, dass du mit
nctlangemeldet bist:bash nctl auth login2. Rufe das Zertifikat ab:
nctl get mysqldatabase my-test-mysqldatabase --print-ca-cert
Deploio-Umgebungsvariablen
Wenn dieser Service von einer Deploio-Applikation referenziert wird,
injiziert Nine Verbindungsdaten als Umgebungsvariablen. <NAME> ist der Name der Ziel-Serviceressource,
in Grossbuchstaben mit nicht-alphanumerischen Zeichen ersetzt durch _.
| Variable | Beschreibung |
|---|---|
NINE_MYSQLDB_<NAME>_FQDN | Hostname. Verwendet privates Networking-DNS, wenn privates Networking konfiguriert ist; andernfalls den öffentlichen Hostname. |
NINE_MYSQLDB_<NAME>_PORT | Port (immer 3306). |
NINE_MYSQLDB_<NAME>_USER | Benutzername (entspricht dem bei der Erstellung vergebenen Datenbanknamen). |
NINE_MYSQLDB_<NAME>_PASSWORD | Passwort. |
NINE_MYSQLDB_<NAME>_CA_CERT | CA-Zertifikat. Wird nur injiziert, wenn ein CA-Zertifikat vorhanden ist. |
Import einer bestehenden Datenbank
Um schnell loszulegen, kannst du eine bestehende Datenbank importieren, zum Beispiel aus deiner lokalen Entwicklungsumgebung. Es wird empfohlen, die folgenden Optionen zu verwenden:
# Erstelle einen Dump der Datenbank und stelle sicher, dass er keine create database-Anweisung enthält
mysqldump --opt --no-create-db my_mysqldatabase > my_mysqldatabase.sql
# Importiere den Dump in die neu erstellte Datenbank
mysql --user={USER} --host={FQDN} --password={PASSWORD} --database={USER} < my_mysqldatabase.sql
Backups
Backups für Economy-Datenbanken werden in S3-kompatiblem Object Storage gespeichert. Sie werden täglich erstellt und können mit jedem S3-kompatiblen Client-Tool heruntergeladen werden.
Backup herunterladen und wiederherstellen
One-Click-Restore ist derzeit in Entwicklung. In der Zwischenzeit können Backups manuell heruntergeladen und wiederhergestellt werden.
Die Backup-Zugangsdaten und Bucket-Details findest du im Cockpit oder über nctl.
Verwende s3cmd, um deine Backups aufzulisten und herunterzuladen:
# verfügbare Backups auflisten
s3cmd ls s3://backup-bucket/
# das neueste Backup herunterladen
s3cmd get s3://backup-bucket/dump.sql.zst ./dump.sql.zst
Nach dem Herunterladen kannst du das Backup wiederherstellen:
- MySQL
- PostgreSQL
zstd -d --stdout dump.sql.zst | mysql --user=${USER} --host=${FQDN} --password=${PASSWORD} --database=${USER}
zstd -d --stdout dump.sql.zst | psql --host=${FQDN} --username=${USER} --dbname=${USER}
Weitere S3-Client-Tools und Konfigurationsoptionen findest du unter Object Storage Client Tools.
Speicher
Der Speicherplatz ist auf 10 GB (L-Paket) begrenzt. Wenn deine Datenbank mehr Speicherplatz benötigt, empfehlen wir die Migration zu einer Business-Datenbank, die dedizierte Ressourcen und automatische Speichererweiterung bietet. Du kannst dazu ein Backup herunterladen und auf einer neuen Business-Instanz wiederherstellen.