Wie verbindet man Sequel Pro mit einer MySQL-Datenbank in einem Docker-Container?

Melden
  1. Einleitung
  2. Voraussetzungen
  3. Docker MySQL-Container starten
  4. Netzwerk und Zugriffsrechte beachten
  5. Verbindung mit Sequel Pro herstellen
  6. Fehlerbehebung
  7. Fazit

Einleitung

Wenn man in der Entwicklung eine MySQL-Datenbank in einem Docker-Container betreibt, stellt sich oft die Frage, wie man mit einem externen Tool wie Sequel Pro darauf zugreifen kann. Sequel Pro ist ein beliebter Datenbank-Client für macOS, mit dem sich MySQL-Datenbanken einfach verwalten lassen. In diesem Artikel wird Schritt für Schritt erklärt, wie man Sequel Pro so konfiguriert, dass eine Verbindung zu einer MySQL-Datenbank im Docker-Container hergestellt wird.

Voraussetzungen

Zunächst sollte sichergestellt werden, dass Docker auf dem verwendeten System installiert und gestartet ist. Außerdem benötigt man ein Docker-Image mit MySQL, beispielsweise das offizielle MySQL-Image von Docker Hub. Sequel Pro muss auf dem Mac installiert sein, was einfach über die offizielle Website oder den Mac App Store möglich ist.

Docker MySQL-Container starten

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=meinPasswort -p 3306:3306 -d mysql:latest

Dieser Befehl startet einen MySQL-Container mit dem Namen mysql-container und setzt das Root-Passwort auf meinPasswort. Mit der Option -p 3306:3306 wird der Standardport 3306 des Containers an den lokalen Port 3306 gebunden, sodass die MySQL-Instanz von außen erreichbar ist.

Netzwerk und Zugriffsrechte beachten

Damit Sequel Pro auf die MySQL-Datenbank zugreifen kann, muss der Port 3306 vom Container zum Host weitergeleitet werden, was durch die oben erwähnte -p-Option gewährleistet ist. Außerdem muss in MySQL sichergestellt sein, dass Verbindungen von außen erlaubt sind. Standardmäßig erlaubt MySQL nur Verbindungen vom localhost. Um dies zu ändern, kann es notwendig sein, einen Benutzer anzulegen, der Zugriffe von der Docker-Bridge-IP oder vom Host erlaubt. Beispielsweise:

CREATE USER benutzer@% IDENTIFIED BY passwort;GRANT ALL PRIVILEGES ON *.* TO benutzer@% WITH GRANT OPTION;FLUSH PRIVILEGES;

Verbindung mit Sequel Pro herstellen

Nachdem der Container läuft und die MySQL-Datenbank korrekt konfiguriert ist, öffnet man Sequel Pro. Im Verbindungsfenster wählt man Standard als Verbindungstyp aus. Bei Host trägt man 127.0.0.1 oder localhost ein, da der Port 3306 auf den lokalen Rechner weitergeleitet wurde. Der Port bleibt 3306, es sei denn, man hat einen anderen Port gewählt. Benutzername und Passwort entsprechen den zuvor im Container gesetzten MySQL-Zugangsdaten, z.B. root und meinPasswort.

Wenn alles korrekt eingestellt ist, kann man auf Verbinden klicken und Sequel Pro stellt die Verbindung zur MySQL-Datenbank im Docker-Container her.

Fehlerbehebung

Falls die Verbindung nicht funktioniert, sollte geprüft werden, ob der Docker-Container läuft und der Port 3306 auf den Host weitergeleitet wird. Der Befehl docker ps zeigt laufende Container an. Zudem kann telnet 127.0.0.1 3306 helfen zu prüfen, ob der Port erreichbar ist. Ebenfalls wichtig ist, ob die MySQL-Zugriffsrechte stimmen und die Firewall auf dem Host keine verbindenden Zugriffe blockiert.

Fazit

Die Verbindung von Sequel Pro zu einer MySQL-Datenbank im Docker-Container ist mit der richtigen Konfiguration einfach herzustellen. Wichtig sind die Portweiterleitung von Docker, die passenden MySQL-Benutzerrechte und die korrekte Eingabe der Verbindungsdaten in Sequel Pro. Mit diesen Schritten lässt sich komfortabel und effizient direkt mit der Docker-MySQL-Datenbank arbeiten.

0

Kommentare