Keine Berechtigung

Externer Zugriff auf die Datenbank

In einem Hosting Paket ist neben dem Web Server natürlich auch ein Datenbank Server enthalten. Dort lassen sich Datenbanken anlegen und nutzen. Die Kommunikation mit der Datenbank übernimmt meist ein Content Management System wie WordPress oder Joomla. Eine Datenbank lässt sich beispielsweise auch mit einem selbst erstellten PHP Skript nutzen. Manchmal muss man allerdings direkt auf die Datenbank zugreifen, um einen Wert in einem Feld zu ändern.

Um diesen Datenbankzugriff zu ermöglichen, wird meist phpMyAdmin genutzt. Auch wir bieten phpMyAdmin im Kontrollzentrum an.

WordPress Datenbank in phpMyAdmin

Manchmal hat man nur FTP Zugriff auf eine Website und kein phpMyAdmin verfügbar. Für diesen Fall gibt es das Tool Adminer, das aus nur einer Datei besteht, die per FTP auf den entsprechenden Server geladen wird (siehe auch den Blog Post Datenbankverwaltung in einer Datei – Adminer).

Die Nutzung von PHP Skripten wie phpMyAdmin und Adminer über den Browser ist sehr einfach und komfortabel. Bei komplexeren Aktionen wie dem Importieren von grösseren Datenbeständen werden die Grenzen beider Skripte aber schnell sichtbar. Der Import funktioniert dann einfach nicht und bricht ab.

In solchen Fällen helfen oft Programme wie HeidiSql (Windows), Sequel Pro (macOS) oder die MySQL Workbench von Oracle (Windows, macOS, Linux).

Externer Zugriff auf die Datenbank

Damit diese lokal installierten Programme auf einen Datenbank Server zugreifen können, muss dieser erreichbar sein.

Die Erreichbarkeit „von aussen“ ist ein Sicherheitsproblem weil das könnte ja dann jeder versuchen. Daher muss jede anfragende IP-Adresse für den Zugriff autorisiert werden.

Im Novatrend Kontrollzentrum wird diese Einstellung unter dem Eintrag Remote-MySQL vorgenommen.

Datenbank Menü im Kontrollzentrum

Die Standardeinstellungenfür IP-Adressen betreffen den internen Zugriff, beispielsweise über PHP Skripte, die auf dem Webhosting hinterlegt sind.

Zugelassene IP-Adressen

Ich nutze auf dem Mac Sequel Pro. Um eine Verbindung zur Datenbank herstellen zu können, muss ich den Hostnamen, den Datenbank-Benutzernamen und das Passwort eintragen. Der Datenbankname ist optional, weil diese Tools automatisch alle Datenbanken, auf die der Benutzer Zugriff hat, anzeigen.

Wenn ich beispielsweise als Host seafolly.ch (meine Testsite) und als Benutzernamen seafoll1_wp323 (eine WordPress DB), sowie das entsprechende Passwort eingebe und dann auf Connect klicke, versucht sich das Programm zu verbinden …

… scheitert aber an fehlenden Rechten mit einer entsprechenden Meldung.

MySQL said: Access denied for user ...

Die 81.56.138.147 ist dabei die IP-Adresse des lokalen Rechners.

Die lokale IP-Adresse lässt sich auf unterschiedliche Weise ermitteln. Wir nutzen dafür https://ip.novatrend.ch. Wenn du diese Site im Browser aufrufst, zeigt sie dir deine IP-Adresse an.

Eigene IP-Adresse ermitteln auf https://ip.novatrend.ch

Wenn nun die IP-Adresse im Kontrollzentrum hinzufügt wird (Host hinzufügen)

… erhält das Programm Sequel Pro die Erlaubnis, sich mit der Datenbank zu verbinden.

WordPress Datenbank in Sequel Pro

Fazit

Für grössere Arbeiten direkt an einer Datenbank bietet es sich an, lokal installierte Programme zu nutzen. Nach einer gewissen Einarbeitungszeit lässt sich damit sehr schnell, und vor allem sehr zuverlässig, arbeiten. Die Erteilung von Berechtigungen pro IP-Adresse bietet einen Schutz vor unerwünschter Nutzung.


tl;dr: Du kannst von deinem PC auf die Datenbank deines Webhostings zugreifen! Schon mal ausprobiert?


Beitrag veröffentlicht

in

, , ,

von

Schlagwörter:

Kommentare

Eine Antwort zu „Externer Zugriff auf die Datenbank“

  1. Avatar von Space Boy
    Space Boy

    Thanks for this tip, but from security point of view, adding a new host just by the IP, is probably not the safest way,

    But interesting tip, as I didn’t knew about this RemoteSQL feature. There is so much stuff in this cPanel 🙂

    Thanks this very interesting blog from my favorite webhoster 🙂 Keep going !

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert