MySQL: Business
Die Business-Stufe ist ideal für die Bereitstellung Ihrer Produktions-Workloads oder wenn Sie eine vollständige Datenbankinstanz mit dedizierten Ressourcen und der Flexibilität der Benutzer- und Datenbankverwaltung wünschen.
Bitte beachten Sie die Stufentabelle für einen Überblick über die Unterschiede:
Stufe | Economy (Beta) Einzelne Datenbanken | Business Dedizierte Instanzen | First Individueller Managed Service |
---|---|---|---|
Verwaltbar in Cockpit / nctl | ☑️ | ☑️ | ✖️ |
Dedizierte Ressourcen | ✖️ | ☑️ | ☑️ |
Backups | ✖️ | ☑️ | ☑️ |
Individuelle Konfiguration | ✖️ | Begrenzte Einstellungen | ☑️ |
Cluster-Deployments | ✖️ | ✖️ | ☑️ |
Beginnt bei | Bitte kontaktieren Sie: |
Economy- und Business-Datenbanken können via Cockpit, unser Kommandozeilen-Tool nctl
oder direkt über die API verwaltet werden. Die Abrechnung erfolgt automatisch basierend auf den genutzten Ressourcen. Nines automatisierte Verwaltung gewährleistet den reibungslosen Betrieb des Services.
Erste Schritte
Sie können nctl
oder Cockpit, unsere Weboberfläche, verwenden, um zu beginnen:
- Cockpit
- nctl
- Erstellen Sie im Cockpit einen neuen Service .
Vergessen Sie nicht, Ihre IP zu erlauben your IP um sich mit der Instanz verbinden zu können. - Rufen Sie die Anmeldedaten von der Übersichtsseite ab. Notieren Sie sich FQDN, Benutzername und Passwort.
Die Datenbank hat denselben Namen wie der Benutzer. - Verbinden Sie sich mit der neu erstellten Datenbank:
mysql --user=${USER} --host=${FQDN} --password=${PASSWORD} --database=${USER}
- Stellen Sie sicher, dass Sie mit
nctl
angemeldet sind:nctl auth login
- Erstellen Sie eine
mysql
:nctl create mysql my-test-database --allowed-cidrs=203.0.113.1/32 # ersetzen Sie 203.0.113.1 mit Ihrer öffentlichen IP-Adresse, um Verbindungen von Ihrem System zuzulassen
- Verbinden Sie sich mit der neu erstellten Datenbank:
nctl get mysql my-test-database # notieren Sie sich den FQDN
nctl get mysql my-test-database --print-database-user # notieren Sie sich den Benutzer
nctl get mysql my-test-database --print-password # notieren Sie sich das Passwort
mysql --user=${USER} --host=${FQDN} --password=${PASSWORD} --database=${USER}
Grundlegende Befehle
Erstellen einer neuen Datenbank namens app_prod
:
mysql> CREATE DATABASE app_prod;
Erstellen eines neuen Benutzers namens app_prod
:
mysql> CREATE USER 'app_prod' IDENTIFIED BY 'strongpassword';
Gewähren von Berechtigungen für den Benutzer app_prod
auf die Datenbank app_prod
:
mysql> GRANT ALL ON app_prod.* TO 'app_prod'@'%';
Für die Vergabe spezifischerer Berechtigungen finden Sie Details in der offiziellen MySQL-Dokumentation: Summary of Available Privileges
Ändern des Passworts für den Benutzer app_prod
:
mysql> ALTER USER app_prod IDENTIFIED BY 'newstrongpassword';
Löschen der Datenbank app_prod
:
mysql> DROP DATABASE app_prod;
Löschen des Benutzers app_prod
:
mysql> DROP USER app_prod;
Verwenden Sie die offizielle MySQL-Dokumentation für weitere Informationen zur Benutzer- und Datenbank-verwaltung.
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 Ihre 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. Sie können 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 können Sie verwenden, um die Datenbankinstanz an Ihre 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 Instanz an zwei Standorten innerhalb des Rechenzentrums „ColoZüri“ oder des Rechenzentrums „NTT“ in Rümlang erstellt werden. Der Standort kann später nicht mehr geändert werden.
Erlaubte IP-Adressen
IPv4-Adressen und Adressbereiche, von denen aus Verbindungen zum Service hergestellt werden können. Der Zugriff von unseren Kubernetes-Produkten NKE und GKE sowie von deplo.io ist bereits aktiviert.
Die Zugriffsbeschränkung kann jederzeit angepasst werden. Anpassungen werden unterbrechungsfrei wenige Momente nach dem Absenden des Formulars wirksam.
Aufbewahrungszeitraum für Datensicherungen
Der Aufbewahrungszeitraum für Sicherungen in Tagen kann zwischen 0 und 365 Tagen gewählt werden.
Werden 0 Tage gewählt, so wird die Sicherungsroutine deaktiviert und alle vorhandenen Sicherungen werden gelöscht.
Bitte beachten Sie, dass der Speicherplatzbedarf bei langer lokaler Vorhaltedauer ansteigt. Dies hat möglicherweise höhere Instanzkosten zur Folge. Weiterführende Informationen haben wir im Abschnitt Automatische Speicherplatzerweiterung zusammengefasst.
Weitere Informationen zur täglichen Sicherung Ihrer Datenbanken, dem Zugriff auf die Sicherungen sowie der Möglichkeit, wie Sie bei Bedarf selbst Sicherungen anlegen können, finden Sie im Abschnitt zu Sicherungen.
Maschinentyp
Wir bieten folgende Maschinentypen für On-Demand-Datenbankinstanzen an:
Bitte beachten Sie, dass wir für den Produktiveinsatz mindestens den nine-db-s
-Maschinentyp empfehlen.
XS nine-db-xs | S nine-db-s | M nine-db-m | L nine-db-l | XL nine-db-xl | XXL nine-db-xxl | |
---|---|---|---|---|---|---|
Virtuelle CPU (VCPU) | 2 | 4 | 4 | 6 | 8 | 10 |
RAM | 4 GB | 8 GB | 12 GB | 16 GB | 24 GB | 32 GB |
Speicherplatz | 20 GB | 20 GB | 20 GB | 20 GB | 20 GB | 20 GB |
Monatliche Kosten |
Zusätzlicher Speicherplatz pro 10GB:
Der Maschinentyp kann zu einem späteren Zeitpunkt Ihrem Bedarf angepasst werden. Nach einer Anpassung wird die Datenbankinstanz neu gestartet und steht für einige Minuten nicht zur Verfügung. Der Speicherplatz wird bei Bedarf automatisch erweitert. Weitere Informationen finden Sie im Abschnitt Automatische Speicherplatzerweiterung.
SSH Public-Keys
In diesem Feld können Sie SSH-Public-Keys zum Zugriff auf die Datenbanksicherungen per SSH hinterlegen. Die SSH-Keys können jederzeit angepasst werden.
Version
Nine stellt derzeit On-Demand MySQL Umgebungen ausschliesslich mit MySQL 8 zur Verfügung.
Long Query Time
Die "Long Query Time" legt die Zeit in Sekunden fest, ab der der MySQL Dienst die Ausführung eines Queries als langsam betrachtet und das Query protokolliert.
Min Word Length
Dieser Wert konfiguriert die Mindestlänge eines Wortes, die MySQL für die Volltextsuche verwendet.
Nine setzt den hier gewählten Wert für die beiden Parameter ft_min_word_len
(MyISAM Storage Engine, Legacy) und innodb_ft_min_token_size
(InnoDB Storage Engine).
Character Set
Der Zeichensatz ist anpassbar. Aus Erfahrung decken die Standardwerte utf8mb4_unicode_ci
/ utf8mb4
die meisten Bedürfnisse ab.
Bevor Sie eine Anpassung dieser Werte in Betracht ziehen, konsultieren Sie bitte die MySQL-Dokumentation unter Character Sets and Collations in MySQL.
Transaction Isolation
Nine empfiehlt, keine Anpassung am gewählten Standardwert vorzunehmen, wenn dies nicht aufgrund von Anforderungen der Applikation unbedingt erforderlich ist.
Informieren Sie sich im Voraus in der MySQL-Dokumentation unter Transaction Isolation Levels und machen Sie sich mit den damit verbundenen Auswirkungen vertraut.
SQL Modes
Der SQL Mode sollte ebenso nur dann angepasst werden, wenn die Applikation dies unbedingt erfordert. Nine verwendet die von Oracle festgelegten Standardwerte für MySQL 8. Weitere Details sind in der offiziellen MySQL Dokumentation unter MySQL 8.0 FAQ: Server SQL Mode und MySQL 8.0 FAQ: Server SQL Mode zu finden.
Verbindung
User
Bei der Erstellung der Instanz wird ein Benutzer "dbadmin" mit einem Passwort für die Verbindungsauthentifizierung erstellt. Weitere Informationen zum Abrufen der Anmeldedaten finden Sie im Abschnitt Erste Schritte.
TLS
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 müssen Sie möglicherweise die für die Validierung verwendete Zertifizierungsstelle bereitstellen.
Sie können die CA entweder via Cockpit oder nctl
abrufen:
- Cockpit
- nctl
- Öffnen Sie die On-Demand Services Übersicht und wählen Sie den entsprechenden Service aus.
- Die CA ist unter dem
Zertifikat
-Tab der Ressource verfügbar.
- Stellen Sie sicher, dass Sie mit
nctl
angemeldet sind:nctl auth login
- Rufen Sie das Zertifikat ab:
nctl get mysql my-test-mysql --print-ca-cert
Gemäss Erlaubte IP-Adressen müssen Sie möglicherweise zusätzliche IPs erlauben.
Sicherungen
Nine erstellt täglich zwischen 01:00 und 02:00 Uhr Sicherungen der Datenbanken Ihrer On Demand Datenbankumgebung. Diese Sicherungen werden 10 Tage (Standardkonfiguration) lokal auf dem Datenbankserver vorgehalten. Weiter werden die Sicherungen für sieben Tage auf ein Backupspeichersystem mit einem entfernten Standort gespeichert.
Die Sicherungen werden im Verzeichnis /home/dbadmin/backup
hinterlegt. Alle Sicherungen werden in Verzeichnissen mit folgendem Zeitschema versioniert:
2022-11-18-0134
Über den symbolischen Link /home/dbadmin/backup/latest/
gelangen Sie zur neusten Sicherung.
Im Ordner customer
finden Sie die Sicherungen aller von Ihnen angelegten Datenbanken. Sollten Sie lediglich an der Struktur einer Datenbank interessiert sein, so finden Sie diese im Verzeichnis structure
.
Zusätzliche Sicherungen erstellen
Sie können zusätzliche Backups erstellen, indem Sie das Skript {props.command}
mit dem sudo Befehl aufrufen:
dbadmin@managedvirtualmachine-xxxxxxx:~ $ sudo nine-mysql-backup
2022-11-18T09:54:19+01:00 Dumped and compressed database 'frontend_production' in 53 seconds
2022-11-18T09:55:04+01:00 Dumped and compressed database 'frontend_staging' in 45 seconds
Speicherbedarf der Sicherungen
Die Sicherungsroutine erstellt komprimierte Sicherungen. In Abhängigkeit der Datenbankgrösse entstehen möglicherweise dennoch speicherplatzintensive Sicherungen.
Um sicherzustellen, dass stets ausreichend Speicherplatz zur Verfügung steht, verfügen die On Demand Datenbankumgebungen über einen Mechanismus, der automatisch eine Speicherplatzerweiterung durchführt.
Anzahl der vorgehaltenen Sicherungen
Die Anzahl der vorgehaltenen Sicherungen kann via Cockpit angepasst werden. Die Dauer der Vorhaltezeit kann dabei zwischen einem und 365 Tagen frei gewählt werden.
Bitte beachten Sie, dass bei einer langen Vorhaltezeit ein höherer Speicherplatzbedarf entsteht, der Folgekosten verursacht.
Sicherungen deaktivieren
Wenn Sie selbst Sicherungen Ihrer Datenbanken erstellen oder aus anderen Gründen nicht wünschen, dass Sicherungen erstellt werden, so kann die Vorhaltezeit der Sicherungen in Cockpit auf "0" angepasst werden.
In diesem Fall wird die Erstellung weiterer Sicherungen deaktiviert. Alle bereits erstellten Sicherungen werden kurz nach der Anpassung gelöscht.
Zugriff auf die erstellten Sicherungen
Mittels des Systembenutzers dbadmin
können Sie über eine SSH Verbindung auf die erstellten Sicherungen zugreifen.
Der SSH Zugriff für den Benutzer wird über die Hinterlegung eines SSH Schlüssel in Cockpit gesteuert.
Wiederherstellung und Arbeiten mit den erstellten Sicherungen
Die eingesetzte Sicherungsroutine entspricht der Routine, die wir auch für unsere Managed Server einsetzen. Das Arbeiten mit den Sicherungen und weitere Informationen zur Wiederherstellung haben wir in folgendem Support-Artikel beschrieben:
Automatische Speicherplatzerweiterung
Um eine möglichst störungsfreie Umgebung bereitzustellen, wird der zur Verfügung stehende Speicherplatz in Intervallen von 5 Minuten überprüft. Sollte unsere Überwachung feststellen, dass der zur Verfügung stehende Speicherplatz einen Schwellenwert unterschreitet, wird automatisch eine Erweiterung des Speicherkontingents durchgeführt.
Schwellenwerte
Bei einer Gesamtgrösse unter 50 GB liegt der Schwellenwert bei 5 GB freiem Speicherplatz.
Bei einer Gesamtgrösse über 50 GB liegt der Schwellenwert bei 10 % freiem Speicherplatz.
Erweiterung des Speicherplatzes
Die Erweiterung des Speicherplatzes erfolgt automatisch in Schritten von 25 GB.
Reduktion des Speicherplatzes
Eine Reduktion des Speicherplatzes ist nicht möglich. Wenn Sie den Speicher nicht mehr benötigen und so die Kosten optimieren möchten, laden Sie sich eine aktuelle Sicherung vom Server herunter und spielen diese auf einem neuen Server wieder ein.
Verrechnung der Speicherplatzerweiterung
Der zusätzliche Speicherplatz wird automatisch verrechnet.