Anleitung für MySQL-Fernverbindungen unter CentOS, hPanel und RHEL

MySQL-Datenbanken und Webserver werden häufig mit Hilfe desselben lokalen Rechners verwaltet. Dies kann jedoch viele Unannehmlichkeiten mit sich bringen, die zu größeren Problemen führen können.

Aus diesem Grund entscheiden sich Unternehmen und Teams oft für Remote-MySQL-Server, damit sich der Webserver und die Datenbank in einem angemessenen Tempo entwickeln und auf den erforderlichen Umfang wachsen können. Infolgedessen haben sich der Server und die Datenbank, die remote verfügbar sind, bei der Verbesserung der Hardware-Leistung und der Bewältigung von Verwaltungs- und Sicherheitsproblemen als hervorragend erwiesen.

Das Ziel des MySQL-Servers ist es, auf lokal eingehende Verbindungen zu reagieren. Dies ist also die Standardkonfiguration, die bedeutet, dass kein Zugriff von einem Remote-System aus möglich ist.

Dennoch ist der Remote-Zugriff auf die ausgewählte Datenbank möglich, nämlich mit einem CentOS-Server und RHEL. Lesen Sie diesen Leitfaden weiter, um zu erfahren, wie genau Sie dabei vorgehen müssen.

Remote-Verbindungen zu einem MySQL-Datenbankserver unter CentOS oder RHEL zulassen

Um diese Anleitung umsetzen zu können, benötigen Sie die folgenden Tools:

  1. Einen Remote-MySQL-Server.
  2. Eine Befehlszeile/ein Terminalfenster.
  3. Lokale und Remote-Rechner mit Root-Rechten.

Wenn der Server nicht zu Ihrem Rechenzentrum gehört, müssen Sie zunächst eine SSH-Verbindung herstellen. Verwenden Sie dazu unter Windows PuTTY. Unter Linux und MacOS verwenden Sie am besten die integrierte Terminal-Shell.

Als Nutzer eines VPS-Servers finden Sie die Anmeldedaten auf der Registerkarte „Server” des hPanel.

So ändern Sie die Konfigurationsdatei des MySQL-Servers

Nun ist es an der Zeit, Ihrem Remote-Server die Aufgabe zu übertragen, externe Verbindungen „abzufangen”. So fügen Sie eine neue Option zu einer Konfigurationsdatei hinzu.

Melden Sie sich als Root-Benutzer beim Server an und führen Sie diesen Befehl aus, um den Speicherort der MySQL-Konfigurationsdatei zu überprüfen:

mysql --help | grep „Default options“ -A 1

Die Ausgabe sieht wie folgt aus:

Als Nächstes bearbeiten Sie die MySQL-Konfigurationsdatei mit Hilfe des Nano-Editors:

nano /etc/my.cnf

Wenn Sie die Datei geöffnet haben, suchen Sie die Zeile mit der Markierung [mysqld] und ergänzen Sie sie mit dem folgenden Code:

bind-address=YOUR.SERVER.IP

Ersetzen Sie YOUR.SERVER.IP durch eine eindeutige IP-Adresse Ihres Remote-Systems, auf das der MySQL-Server hören soll.

Wenn Sie den Ausdruck skip-networking in den Codezeilen sehen, setzen Sie ihn als Kommentar (durch Einfügen eines #) oder entfernen Sie ihn einfach. Andernfalls kann der Server keine TCP/IP-Verbindungen „erfassen”.

Nach Abschluss der Bearbeitung klicken Sie auf „STRG+X” oder „COMMAND+X” (für Mac), um die Datei zu speichern. Die Änderungen werden nach dem Neustart von MySQL wirksam. Dies erfolgt mit dem folgenden Befehl:

systemctl restart mysqld

So öffnen Sie den erforderlichen MySQL-Port

Als Nächstes müssen Sie den richtigen Port öffnen, da der Standardport in MySQL für externe Verbindungen immer 3306 ist. Wenn der Firewall-Dienst bereits auf dem MySQL-Server konfiguriert ist, besteht der nächste logische Schritt darin, den Datenverkehr durch den Port zu lassen.

Dies funktioniert, wenn Ihr Standard-Firewall-Tool iptables ist. Geben Sie den folgenden Befehl ein:

iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

Mit diesem Befehl wurde der Port #3306 für unbegrenzten Datenverkehr geöffnet und der Fernzugriff für alle IP-Adressen freigegeben.

Wenn Sie diese Art von Zugriff nicht zulassen möchten, gewähren Sie mit Hilfe dieses Befehls nur einer bestimmten IP-Adresse Zugriff auf den Server:

iptables -A INPUT -i eth0 -s remote_IP_address -p tcp

--destination-port 3306 -j ACCEPT

Vergessen Sie nicht, die remote_IP_adress durch die erforderliche IP-Adresse des Remote-Hosts zu ersetzen.

Speichern Sie abschließend die aktualisierte iptables-Konfiguration mit folgendem Befehl:

service iptables save

Die Antwort sieht wie folgt aus:

Von nun an gewährt der Server Remote-Verbindungen zum MySQL-Dienst.

Überprüfen Sie das Ergebnis, indem Sie den MySQL-Server starten und mit dem folgenden Befehl eine Verbindung vom Remote-System herstellen:

mysql -u Benutzername -h mysql_server_ip -p

Ersetzen Sie „Benutzername” durch Ihren MySQL-Benutzernamen und „mysql_server_IP” durch die tatsächliche IP-Adresse (oder den Namen des Servers). Der Parameter „-p” gibt Ihnen einen Hinweis darauf, dass Sie sich mit Ihrem Passwort bei Ihrem MySQL-Benutzerkonto anmelden müssen.

Die Ausgabe sieht wie folgt aus:

Verbindung zu <em>mysql_server_ip</em> 3306 Port [tcp/mysql] erfolgreich hergestellt!

Remote-Verbindungen zum MySQL-Datenbankserver auf hPanel zulassen

Das Tool kann eine Remote-Verbindung zum MySQL-Server herstellen. Dazu muss die IP-Adresse des eigenen Kontos zugelassen werden.

Melden Sie sich zunächst bei Ihrem hPanel an und gehen Sie direkt zu „Datenbanken – Remote MySQL“.

Auf der Seite „Remote MySQL“ können Sie die IP-Adresse des Remote-Servers in das Feld „IP“ oder „AnyHost“ eingeben. Dadurch können Sie sich von buchstäblich jeder IP-Adresse aus verbinden.

Wählen Sie als Nächstes die Zieldatenbank für den Remote-Zugriff aus und klicken Sie auf „Erstellen“.

Aber das ist noch nicht alles. Für solche Remote-Verbindungen benötigen Sie einen MySQL-Server-Hostnamen von einem MySQL-Benutzer. Wenn Sie wissen möchten, wie Sie diesen erhalten, scrollen Sie zum Anfang dieser Seite.

Fazit

Diese kurze Anleitung hat gezeigt, wie Sie über den Remote-Host-Zugriff eine Verbindung zum MySQL-Server herstellen und für einen Remote-MySQL-Benutzer einen Zugriff von einer gewünschten IP-Adresse aus erstellen können.

Zusammenfassend lässt sich sagen, dass die folgenden Schritte erforderlich sind, um die Remote-Verbindung von Hosts auf einem CentOS- oder RHEL-Server zu akzeptieren:

  1. Ändern der MySQL-Konfigurationsdatei. Dazu fügen Sie über die Befehlszeile eine weitere Option und eine neue Remote-Benutzer-IP-Adresse zur MySQL-Konfigurationsdatei hinzu.
  2. Öffnen des erforderlichen MySQL-Ports. Dazu fügen Sie einen Eintrag zu den Regeln Ihrer Firewall hinzu, speziell für Port 3306.

Viel Erfolg! Wenn Sie noch Fragen oder Unklarheiten zum Einrichten von Remote-MySQL-Verbindungen haben, hinterlassen Sie bitte einen Kommentar unter dieser Anleitung.

Blog