Externen Datenbankserver

Im Zeitraum vom 09.04.2024 - 28.03.2025 ist der Support eingeschränkt. In dem genannten Zeitraum, befinde ich mich auf einer Weiterbildung.

Datenbankserver

Externen Datenbankserver für CloudPanel

Einleitung

Die Nutzung externer Datenbankserver markiert einen bedeutsamen Fortschritt in der Entwicklung von Datenmanagementlösungen. In einer Ära, in der die Datenmengen exponentiell anwachsen und vielfältige Anforderungen an die Datenverwaltung entstehen, gewinnt die Skalierbarkeit und Performance zunehmend an Bedeutung. Externe Datenbankserver stellen eine transformative Lösung dar, die es ermöglicht, Daten effizienter zu handhaben, flexible Skalierbarkeit zu realisieren und gleichzeitig eine herausragende Leistung sicherzustellen.

Die Fähigkeit zur Skalierbarkeit externer Datenbankserver erweist sich als entscheidender Vorteil in einer sich ständig wandelnden Umgebung. Durch die Anpassung von Ressourcen nach Bedarf, sei es horizontal oder vertikal, können Organisationen flexibel auf das kontinuierliche Datenwachstum reagieren. Diese Flexibilität erlaubt es, die Infrastruktur dynamisch an wechselnde Anforderungen anzupassen, sei es durch einen plötzlichen Anstieg der Datenlast oder die Integration neuer Anwendungen und Benutzer.

Die Performance externer Datenbankserver bildet einen weiteren Schlüsselaspekt dieser fortschrittlichen Technologie. Durch die Auslagerung von Datenmanagementprozessen an spezialisierte Serverinfrastrukturen wird eine optimierte Leistung erreicht. Die Möglichkeit, Datenbankserver mit leistungsfähigen Ressourcen auszustatten und sie bei Bedarf zu erweitern, führt zu schnelleren Antwortzeiten, verbesserten Abfrageergebnissen und einer insgesamt effizienteren Datenverarbeitung.

Voraussetzungen

Dieses komplette Tutorial, basiert auf der Hetzner Cloud. Wir machen uns das »lokale Netzwerk« in der Rubrik Netzwerk zunutze, damit der zukünftige Datenbankserver ausschließlich lokal erreichbar ist. Des Weiteren wird er trotzdem über einen Server via NAT (Network Address Translation) an das Internet angebunden.

  • Debian 12
  • Mindestens einen CAX11 / CX11 (dies bildet unseren Datenbankserver).
  • Mindestens einen weiteren Server mit einer öffentlichen IPv4-Adresse.

Server Erstellung und Einrichten von NAT

Hierfür habe ich ein kleines Video erstellt, welche alle Schritte beinhaltet.


Externer Inhalt youtu.be
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

NAT-Server

Diese Schritte werden auf dem NAT-Server ausgeführt

Bash
echo 1 > /proc/sys/net/ipv4/ip_forward

Bearbeiten der /etc/network/interfaces. Diese sollte nun wie folgt aussehen:

Der Server sollte jetzt zur Sicherheit einmal neu gestartet werden. Dies geht recht einfach mit diesem Befehl:

Bash
shutdown -r now

Client-Server

Diese Schritte werden auf dem Client Server ausgeführt, welcher nur eine lokale IPv4-Adresse besitzt.

Bearbeiten der /etc/network/interfaces. Sollte Sie ein anderes Interface als ens10 nutzen, passen Sie dies entsprechend an.

Installation und Konfiguration der Datenbank

Bitte beachtet, dass aktuell keine offiziellen MySQL Pakete für Debian auf ARM64 Hardware bereitstehen. Hier lohnt sich der Einsatz von Intel/AMD X86_X64.

Verbinden Sie sich über Ihren NAT-Server mit Ihrem zukünftigen Datenbankserver. Im Anschluss können Sie bereits loslegen, MySQL zu installieren.

Bash
apt update && apt upgrade -y && apt autoremove -y && apt install wget

Hinzufügen der Paketquellen von MySQL:

Bash
wget https://repo.mysql.com//mysql-apt-config_0.8.28-1_all.deb && dpkg -i mysql-apt-config_0.8.28-1_all.deb

Hier könnt Ihr das aktuelle Repository herunterladen.

MySQL :: Download MySQL APT Repository

Bash
apt update && apt install mysql-server

Im darauffolgenden Fenster vergeben Sie ein root Passwort für MySQL. Im Anschluss daran, folgt die Abfrage, welche Passwortverschlüsselung genutzt werden soll. Hier wählen Sie die zweite Option. Sollten Sie allerdings kein CloudPanel nutzen, können Sie die empfohlene Einstellung mit ENTER bestätigen.

Ist die Installation abgeschlossen, folgt dieser Befehl:

Bash
mysql_secure_installation

und sollte dann wie folgt aussehen:

MySQL Konfiguration:

Öffnen Sie mit NANO oder VIM folgende Datei /etc/mysql/mysql.conf.d/mysqld.cnf und tragen Sie hier folgendes ein.

Speichern und schließen Sie die Konfigurationsdatei und starten den MySQL-Dienst einmal neu.

Bash
systemctl restart mysql

Mit dem Befehl mysql --version können Sie die Version von MySQL überprüfen.

Loggen Sie sich bei MySQL ein:

Bash
mysql -u root -p

Listen Sie einmal alle Benutzer und Hosts mit diesem Befehl auf:

Bash
SELECT user,host FROM mysql.user;

Hier können Sie gut sehen, dass der Benutzer root nur lokal genutzt werden kann. Da wir aber die Datenbank über CloudPanel steuern wollen, benötigen wir die Möglichkeit, mit dem root Benutzer via Remote zuzugreifen. Natürlich kann hier auch ein eigener Nutzer angelegt werden. Da dieser Server lediglich lokal erreichbar ist, macht dies in meinen Augen keinen Sinn. Nutzen Sie folgenden Befehl, damit der root nicht nur lokal erreichbar ist.

Bash
RENAME USER 'root'@'localhost' TO 'root'@'%';

OPTIONAL: Das % gibt den host an, hier könnten Sie es auf eine IP-Adresse begrenzen. Wollen Sie aber die Datenbank auch bei weiteren Servern nutzen, können Sie mit dem % alle zulassen. Überprüfen Sie, ob der Befehl funktioniert hat, indem Sie sich die user und hosts noch einmal anzeigen lassen.

Bash
mysql> SELECT user,host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

Die Datenbank wäre jetzt fertig konfiguriert und kann mit CloudPanel genutzt werden.

CloudPanel

Installieren Sie CloudPanel wie in unserem Tutorial hier beschrieben oder nutzten Sie direkt die Dokumentation von CloudPanel.io

Loggen Sie sich in Ihr CloudPanel Interface ein und navigieren Sie zu Admin AreaSettingsDatabase Servers.

Hier sehen Sie die lokale Datenbank, die CloudPanel mitliefert. Fügen Sie den neuen Datenbankserver hinzu.

Vergessen Sie nicht, den neuen Datenbankserver auf Aktiv zusetzten!

Nun können Sie auch schon loslegen, neue Datenbanken zu erstellen oder Backups zu importieren.

Firewall

CloudPanel nutzt und installiert als Firewall UFW. Damit die Namensauflösung auf unserem lokalen Datenbankserver funktioniert, muss hier etwas nachgeholfen werden.

Öffnen Sie die Konfigurationsdatei /etc/default/ufw :

Bash
nano /etc/default/ufw

Ändern Sie hier die DEFAULT_FORWARD_POLICY auf ACCEPT. Speichern und schließen Sie die Datei nach der Änderung wieder.

Bash
# Set the default forward policy to ACCEPT, DROP or REJECT.  Please note that
# if you change this you will most likely want to adjust your rules
DEFAULT_FORWARD_POLICY="ACCEPT"

Öffnen Sie die Konfigurationsdatei /etc/ufw/before.rules :

Bash
nano /etc/ufw/before.rules

Fügen Sie unten stehenden Code vor dem letzten COMMIT ein.

Bash
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic from eth1 through eth0.
-A POSTROUTING -s 10.0.0.0/16 -o eth0 -j MASQUERADE

Speichern und schließen Sie die Datei und starten mit diesem Befehl die Firewall neu.

Bash
systemctl restart ufw

Fazit

Durch die geschaffene Skalierbarkeit und Performancesteigerung haben wir ein solides Grundgerüst. Natürlich darf hier der zusätzliche administrative Aufwand und die höheren Kosten nicht außer Acht gelassen werden. Auch sollte zunehmend darauf geachtet werden, dass die Serversicherheit ausreichend ist.

Über den Autor

Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.

Foxly Team

Kommentare