Zum Hauptinhalt springen

MySQL

On-Demand-Datenbanken können über das Cockpit, unser Kommandozeilentool nctl oder direkt über die API verwaltet werden.

Die Abrechnung erfolgt automatisch auf Basis der genutzten Ressourcen. Das automatisierte Management von Nine gewährleistet einen reibungslosen Betrieb des Dienstes.

On-Demand-Datenbanken bieten nur eingeschränkte Konfigurationsmöglichkeiten. Für umfangreichere Einstellungen nutzen Sie bitte unseren Managed Service.

Updates und Wartungsfenster

Sicherheits- und Softwareupdates werden in der Regel während des Wartungsfensters durchgeführt.

Daher kann es während dieses Wartungsfensters zu kurzen Serviceunterbrechungen kommen, ohne dass dies vorher angekündigt wird.

Überwachung

Nine überwacht die Instanz 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.

Preise

Unsere Preise für relationale Datenbanken wie MySQL und PostgreSQL beginnen bei CHF 49 für eine Grösse von nine-db-s (1vCPU/2GB Ram). Zusätzliche Kosten basieren auf den von NKE genutzten Ressourcen.

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

Hier können Sie IPv4-Adressen und Adressbereiche definieren, von denen aus Sie Verbindungen zur Instanz aufbauen wollen. Der Zugriff von unseren Kubernetes-Produkten NKE und GKE sowie von deplo.io ist bereits aktiviert.

Die Zugriffsbeschränkung kann jederzeit angepasst werden. Die Anpassungen erfolgen unterbrechungsfrei kurz nach dem Absenden des Formulars.

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-Datenbanken an:

note

Bitte beachten Sie, dass wir für den Produktiveinsatz mindestens den nine-db-s-Maschinentyp empfehlen.

nine-db-xsnine-db-snine-db-mnine-db-lnine-db-xlnine-db-xl
Virtuelle CPU (VCPU)2446810
RAM4 GB8 GB12 GB16 GB24 GB32 GB
Speicherplatz20 GB20 GB20 GB20 GB20 GB20 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

Sie haben die Möglichkeit, den vom Dienst verwendeten Zeichensatz Ihrem Bedarf anzupassen. Erfahrungsgemäss decken die Standardwerte utf8mb4_unicode_ci / utf8mb4 den üblichen Bedarf ab.

Sollten Sie eine Anpassung dieser Werte in Betracht ziehen, konsultieren Sie bitte vorab die MySQL Dokumentation: 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.

Konsultieren Sie vorab unbedingt die MySQL Dokumentation und machen sich mit den verbundenen Implikationen vertraut: Transaction Isolation Levels

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.

Eine Dokumentation und FAQ zu den SQL Modes stellt Oracle in den folgenden Artikeln bereit:

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 über 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 Speicherkontingentes 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.

Mit Datenbanken interagieren

Verbindung herstellen

Die Verbindungsinformationen (FQDN, Benutzer und Passwort) für Ihre Instanz finden Sie im Cockpit unter Zugangsinformationen. Die Datenbankserver sind über ihre Standardports erreichbar.

Der Datenbankserver akzeptiert nur TLS-Verbindungen. Abhängig von Ihrem Client oder Ihrer Bibliothek müssen Sie TLS eventuell explizit aktivieren.

mysql -h FQDN -u dbadmin -p

Grundlegende Befehle

Bei der Datenbank anmelden:

mysql -h FQDN -u dbadmin -p

Neue Datenbank mit dem Namen app_prod erstellen:

mysql> CREATE DATABASE app_prod;

Neuen Datenbankbenutzer mit dem Namen app_prod erstellen:

mysql> CREATE USER 'app_prod' IDENTIFIED BY 'strongpassword';

Privilegien dem Benutzer app_prod für die Datenbank app_prod gewähren:

mysql> GRANT ALL ON app_prod.* TO 'app_prod'@'%';

Für die Gewährung von mehr spezifizierten Rechten finden Sie die Details in der offiziellen MySQL-Dokumentation: Zusammenfassung der verfügbaren Zugriffsrechte

Passwort des Benutzers app_prod anpassen:

mysql> ALTER USER app_prod IDENTIFIED BY 'newstrongpassword';

Datenbank app_prod löschen:

mysql> DROP DATABASE app_prod;

Datenbankbenutzer app_prod löschen:

mysql> DROP USER app_prod;

Verwenden Sie die offizielle MySQL-Dokumentation für zusätzliche Informationen über die Verwaltung von Benutzern und Datenbanken