Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhost (https://www.delphipraxis.net/207611-mysql-ueber-firedac-securebridge-ssh-tunnel-problem-mit-127-0-0-1-und-localhost.html)

bogdan 14. Apr 2021 16:06

Datenbank: MySQL • Version: 5.7.3 • Zugriff über: FireDac

MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhost
 
Hallo,

SSH Tunnel + Channel wird mit SecureBridge aufgebaut.

Zugriff auf MySQL Datenbank mit FireDac nicht möglich: Access denied for user 'testuser'@'localhost'.
User + Passwort sind richtig.

FDConnection.Server ist explizit mit 127.0.0.1 angegeben. Beim Verbindungsaufbau verändert sich der Server jedoch auf localhost.
Ich denke, dass hier auch der Fehler liegt. Nur weiß ich nicht wie ich das verhindern kann.

Hat vielleicht Jemand eine Idee?

Union 14. Apr 2021 16:23

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
Hat Dein Rechner keine IP auf einem Netzwerkadapter? Verwende doch diese anstelle von :: bzw. 127.0.0.1

Weiter würde ich mal checken, ob das Passwort wirklich korrekt ist.

bogdan 14. Apr 2021 16:53

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
Es handelt sich um ein SSH Tunnel und der SSH-Host wird auch richtig angesprochen.

127.0.0.1 ist schon richtig. Mit MySQL Workbench funktioniert es einwandfrei, nur mit FireDac nicht.

Passwort ist korrekt.

Delphi.Narium 14. Apr 2021 17:28

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
Sind die ' in
Delphi-Quellcode:
'testuser'@'localhost'
hier zur Darstellung gedacht oder Teil der von Dir genutzten Anmeldung?

Eigentlich hätte ich eher
Delphi-Quellcode:
testuser@localhost
erwartet.

bogdan 14. Apr 2021 19:30

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
Die Quoted Anzeige kommt original aus der Excpetion 'testuser'@'localhost', ansonsten werden die Daten schon richtig an FireDac übergeben.

Allerdings nicht localhost sondern 127.0.0.1. FireDac wandelt es in localhost um und da liegt irgendwie der Hund begraben.

Delphi.Narium 14. Apr 2021 19:52

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
Localhost ist der Name zur IP 127.0.0.1
so wie
delphipraxis.net der Name zur IP 138.201.18.17 ist.

Für gewöhnlich findet man einen entsprechenden Eintrag in der hosts-Datei:
Code:
127.0.0.1       localhost
Ein Ping auf Localhost liefert als Ergebnis eine Antwort von der IP 127.0.0.1.

Die Kombination von Localhost und 127.0.0.1 ist absolut normal und korrekt (https://de.wikipedia.org/wiki/Localhost).

Die Quoted-Anzeige der Anmeldedaten könnte aber ein Hinweis auf die Fehlerursache sein.

Bitte prüfe, ob die Anmeldedaten so übergeben werden oder ob hier eine Routine eventuell die Anmeldedaten durch das Quoten verfälscht und deshalb die Anmeldung scheitert.

bogdan 14. Apr 2021 21:38

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
127.0.0.1 = localhost
sollte kein Unterschied machen, aber irgendwie hier schon.

Wenn ich die Zugangsdaten in MySQL Wokbench mit 127.0.0.1 teste, funktioniert alles einwandfrei.
Mit localhost aber bekomme ich auch in Workbench eine Fehlermeldung, also ist 127.0.0.1 <> localhost

Unter FireDac bekomme ich die Fehlermeldung mit 127.0.0.1 und localhost, also beide Varianten funktionieren nicht.

Zitat:

Bitte prüfe, ob die Anmeldedaten so übergeben werden oder ob hier eine Routine eventuell die Anmeldedaten durch das Quoten verfälscht und deshalb die Anmeldung scheitert.
Wie soll ich das prüfen? Mit der gleichen Anfrage Procedure wird auch eine 2. DB ohne SSH angesprochen und hier funtkioniert alles einwandfrei.

Delphi.Narium 14. Apr 2021 21:58

AW: MySQL über FireDac + SecureBridge SSH Tunnel + Problem mit 127.0.0.1 und localhos
 
Wenn 127.0.0.1 <> localhost dann schau bitte mal in der hosts nach, eventuell fehlt da ja ein entsprechender Eintrag.

Oder mach mal auf der Kommandozeile ein Ping auf localhost und ein

Code:
Ping -a 127.0.0.1
und ein
Code:
ping -a localhost
Funktioniert beides? Wird der Name aufgelöst? Was besagt die Ausgabe dort?

Zitat:

Zitat von bogdan (Beitrag 1487153)
Wie soll ich das prüfen? Mit der gleichen Anfrage Procedure wird auch eine 2. DB ohne SSH angesprochen und hier funtkioniert alles einwandfrei.

Das war doch schonmal 'ne Prüfung.

Fehlt eventuell eine Angabe zum zu verwendenden Port in der Anmeldung?

Ist da eventuell was verwendbares an Info bei? How to Connect to MySQL through SSH Tunnel


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz