Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Verbindung über SSH-Tunnel

Hier gibt es drei Probleme.

1 - Vergiss den SSH-Tunnel vorerst

Sie können MySQL nicht an mehr als eine bestimmte IP binden. Die erste bind-address -Klausel wird von der zweiten überschrieben (daher ignoriert). Ihr Server hört nur auf 99.99.99.99 .

Der Grund, warum Sie sich mit -h localhost verbinden können aber nicht mit -h 127.0.0.1 ist, dass Sie sich in der ersten Form nicht wirklich über TCP/IP verbinden, sondern über einen lokalen Socket.

Schauen Sie in Ihre my.cnf für eine socket Klausel.

Entfernen Sie eine überflüssige bind-address Klausel. Sie können bind-address=0.0.0.0 verwenden , der den MySQL-Daemon anweist, auf alle zu hören Netzwerkschnittstellen.

2 - Lassen Sie uns Ihren SSH-Tunnel einrichten

Der Grund für Ihren Fehler ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 ist für mich nicht ersichtlich. Ich vermute Der SSH-Tunnel wird tatsächlich nur aufgebaut, wenn er eine Verbindungsanfrage erhält (in Ihrem Fall, wenn Sie die mysql Klient). Da Ihr Server 127.0.0.1 nicht abhört (siehe vorheriger Absatz), kann der SSH-Tunnel nicht aufgebaut werden, die Verbindung schlägt fehl und Ihr Client interpretiert dies als Netzwerkfehler.

3 - Warum mysql -v -h localhost -P 9989 -u user userdb -p schlägt fehl

Bitte poste die Ausgabe von

[Bearbeiten:gerade hinzugefügt ...OR host LIKE 'localhost' unten, da dies für die Fehlerbehebung relevant sein könnte]

mysql > SELECT user, host FROM mysql.user WHERE user LIKE 'user' OR host LIKE 'localhost';

(ersetzen Sie 'user' , nach dem LIKE -Klausel, ggf. mit dem tatsächlichen Benutzernamen)

Die MySQL-Zugriffskontrolle prüft sowohl den Benutzernamen als auch das Passwort (user ) und den Ursprung der Verbindung (host ) um einen Benutzer zu identifizieren. Wahrscheinlich haben Sie keinen Benutzer 'user'@'localhost' erstellt .

N.B.:Da mysql.com derzeit von meinem Standort aus nicht erreichbar ist, kann ich keine Links zu den relevanten Handbuchseiten erstellen.