MySQL via SSH Tunnel

MySQL via SSH Tunnel

am 23.05.2006 17:49:03 von Andreas Stallmann

Hallo zusammen,

ich versuche - einigermaßen verzweifelt - MySQL über eine SSH-Verbindung
zu betreiben.

Das Szenario ist das folgende:

Ein LocalClient (LC) soll sich lokal auf Port 3307 verbinden und von
dort aus auf den RemoteServer (RS) zugreifen. Vor dem RS steht noch eine
FireWall (FW) Entsprechend gibt es auf dem LC folgendes SSH-Portforwarding:

LC ~ # ssh -L 3307:RS:3306 FW

Ich habe die Funktionalität auch mit telnet getestet, und bekomme eine
connection, auf wenn sie umgehend wieder terminiert wird:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LC ~ # telnet localhost 3307
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
'
4.0.25k>I4j8wrU,
Connection closed by foreign host.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Versuche ich aber einen Verbindungsaufbau via mysql, scheitert dies:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LC ~ # mysql -u root -P 3307 localhost
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (111)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Der Socket existiert. Wenn ihn lösche, ist die Fehlermeldung allerdings
die selbe.

Ideen, Anregungen anyone?

Es dankt und grüßt,

Andreas
--
dawin GmbH - Andreas Stallmann - Consultant
http://www.dawin.de

Re: MySQL via SSH Tunnel

am 23.05.2006 18:44:24 von Frank Schenk

Andreas Stallmann wrote:
> Hallo zusammen,
>
> ich versuche - einigermaßen verzweifelt - MySQL über eine SSH-Verbindung
> zu betreiben.
....
> Versuche ich aber einen Verbindungsaufbau via mysql, scheitert dies:
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> LC ~ # mysql -u root -P 3307 localhost
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket
> '/var/run/mysqld/mysqld.sock' (111)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Der Socket existiert. Wenn ihn lösche, ist die Fehlermeldung allerdings
> die selbe.

Wenn ich nicht ganz falsch liege connected sich MySQL immer über den
mysqld.sock wenn du als Host localhost angibst. Gib ihm ne IP, dann
sollte er sich über TCP/IP verbinden.

Steht aber auch alles im Handbuch:

A.2.2. Can't connect to [local] MySQL server
http://dev.mysql.com/doc/refman/4.1/en/can-not-connect-to-se rver.html

A MySQL client on Unix can connect to the mysqld server in two
different ways: By using a Unix socket file to connect through a file in
the filesystem (default /tmp/mysql.sock), or by using TCP/IP, which
connects through a port number. A Unix socket file connection is faster
than TCP/IP, but can be used only when connecting to a server on the
same computer. A Unix socket file is used if you don't specify a
hostname or if you specify the special hostname localhost.

gruß, Frank

Re: MySQL via SSH Tunnel

am 24.05.2006 08:42:43 von Klaus Herzberg

Hallo,

Andreas Stallmann wrote:
> ich versuche - einigermaßen verzweifelt - MySQL über eine SSH-Verbindung
> zu betreiben.

unter


ist eine Anleitung nach der ich das mal eingerichtet habe.
Vielleicht sind auch ein paar Hinweise fuer Dich dabei.

mfg. klaus.

Re: MySQL via SSH Tunnel

am 26.05.2006 09:43:26 von fuzz

Andreas Stallmann wrote:

> LC ~ # mysql -u root -P 3307 localhost

Folgendes wird dein Problem lösen:

% mysql -u root -P 3307 127.0.0.1

--
So long... Fuzz

Re: MySQL via SSH Tunnel

am 29.05.2006 11:28:35 von Andreas Stallmann

Erik Wasser wrote:
> Folgendes wird dein Problem lösen:
>
> % mysql -u root -P 3307 127.0.0.1
Herzlichen Dank, das hat geklappt!

Viele Grüße,

Andreas
--
dawin GmbH - Andreas Stallmann - Consultant
http://www.dawin.de