Mit HeidiSQL per SSH-Tunel auf Live-Systeme verbinden

Datum: 23. April 2012
Autor*in: Stefan Oswald


Unsere Produktiv-Systeme akzeptieren aus Sicherheitsgründen keine Verbindungen mit dem MySQL-Server von externen Adressen. Dennoch möchte man manchmal mit einem anderen Tool als phpMyAdmin auf die Datenbanken sehen. Die Lösung hierfür ist ein SSH-Tunnel. Einfacher Hintergrund: Statt auf den normalen MySQL-Port verbinden wir uns über den SSH-Server mit dem Zielsystem. Dort angekommen können wir uns mit dem lokalen MySQL-Server des Zielsystems verbinden und diese Verbindung über unseren SSH-Kanal zurück leiten.

Das Client-Programm HeidiSQL (früher bekannt als „MysqlFront“) bietet die Möglichkeit, aus seiner komfortablen GUI heraus einen solchen SSH-Tunnel zur Verbindung mit einem Remote-Server einzurichten.

Was wird dazu benötigt?

Nach der Installation von HeidiSQL wird das Programm gestartet. Mit dem Button „New“ legt man eine neue Verbindung an, der man einen beliebigen (möglichst sinnvollen) Namen geben sollte. Bei den Verbindungsdaten muss nun folgendes eingegeben werden:

  • Tab „Settings“:
    • Network type: „MySQL (SSH-Tunnel)“
    • Hostname / IP: „localhost“
    • Prompt for credentials: KEINEN Haken setzen
    • User: den MySQL Username (z.B. mysqluser123)
    • Password: das MySQL Passwort (z.B. mysqlsecret123)
    • Port: 3306
  • Tab „SSH-Tunnel“:
    • plink.exe location: Lokaler Pfad zur plink.exe
    • SSH host: Hostname des MySQL-Servers (z.B. host01.imxnet.de)
    • SSH port: 2222 (Standard SSH-Port unsere Produktivsysteme)
    • Username: SSH-Login-Name (z.B. ftpuser123)
    • Password: SSH-Login-Passwort (z.B. ftpsecret123)
    • plink.exe timeout: 20
    • Local port: 33006

Das Timeout für die plink.exe ist wichtig und sollte nicht zu klein gewählt werden, denn wenn der Server nicht rechtzeitig antwortet, dann verbindet HeidiSQL (blöder Weise) auf den lokalen MySQL-Server des eigenen Rechners – das kann man leicht mal übersehen! Mit 20 Sekunden Timeout sollte es meistens keine Probleme geben, aber wenn das interne oder externe Netz mal etwas langsam ist kann es sein, dass man auch mit 20 Sekunden nicht hin kommt. In dem Fall muss das Timeout entsprechend höher gesetzt werden.

Als Wert für „local port“ sollte man bei jeder neu angelegten Verbindung einen anderen Port angeben, denn nur so ist es möglich, dass man gleichzeitig auf mehr als einen Remote-Server verbinden kann. (Mit einem Port kann man schließlich nicht gleichzeitig  mehrere unterschiedliche Verbindungen öffnen). Man kann die Zahlen einfach beliebig weiter zählen, z.B. 33006, 33007, 33008 etc. Die konkrete Zahl ist natürlich ziemlich egal, ich verwende 33006 als gedankliche Stütze, wiel der „eigentliche“ MySQL-Port ja 3306 ist.

Die Verbindung sollte nach getätigter Konfiguration gespeichert werden.

Wichtiger Hinweisbei fehlender Konnektivität

Es kann außerdem notwendig sein, dass man die Windows-Firewall so einstellt, dass sowohl HeidiSQL als auch plink.exe nach draußen telefonieren dürfen.


Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


AJAX Ladeschnecke ohne Bilder oder zusätzlichem CSS

Autor*in: Stefan Oswald


Technologie // User Experience & Design


Der Anwendungsfall tritt sehr oft ein: Eine Ergebnisliste soll nachgefiltert werden, und zur Visualisierung, dass gerade etwas im Hintergrund passiert, soll eine „Ladeschnecke“ (oder vielleicht etwas old-school-mäßig ein Fortschrittsbalken) angezeigt werden. Oftmals wird das so umgesetzt, dass man im „beforeLoad“-Ereignis des AJAX-Calls eine animierte Grafik hinzufügt, welche im „complete“-Ereignis wieder entfernt oder unsichtbar gemacht wird. …


Beitrag lesen
23
JUL
14

video.js – HTML5-Video-Kmponente mit Polyfill für alte Browser

Autor*in: Stefan Oswald


Projekte // Technologie // User Experience & Design


Webseite: http://www.videojs.com/ Ich habe es mir noch nicht im Detail angeschaut, aber rein von der Beschreibung her könnte das für uns mal ganz nützlich sein. Man kann per API auch Loader für eigene Video-Provider umsetzen. Kostenlos einsetzbar dank Apache 2.0 Lizenz.


Beitrag lesen
14
MAI
13

Recap Velocity Conference Amsterdam 2016

Autor*in: Robert Klauser


Technologie // Über den Tellerrand


Nach drei spannenden Tagen von 7. bis 9. November 2016 in Amsterdam bin ich mit vielen neuen und interessanten Eindrücken von der Konferenz zurückgekehrt, die ich gerne mit Euch teilen möchte. Bei der Velocity Conference ging es um die Themen Web Performance in allen Facetten sowie DevOps als Prozess für den agilen und performanten Betrieb …


Beitrag lesen
11
NOV
16

JavaScript Days Berlin und online 2022

Autor*in: Magdalena Piller


Technologie // Über den Tellerrand


Ein kurzes Wrap-Up meiner diesjährigen Teilnahme an den JS-und Angular-Days. Leider wurde in diesem Jahr die Konferenz nicht als volle „Hybrid“-Veranstaltung gehalten, so dass nur eine geringe Auswahl an Sessions online zur Verfügung standen. Sehr schade! Trotzdem fanden sich noch einige spannende Themen.


Beitrag lesen
07
NOV
22