• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Über localhost kein connect zur mysql db

hallo linux freunde,

ich hab hier ein kleines problem, mit dem ich mich schon über 3 wochen beschäftige, aber als keine lösung finde. bin ein absoluter linux anfänger und hoffe, dass ich hier ein paar profis finde, die mir behilflich sein können. wahrscheinlich ist für euch mein problem eher lächerlich, so dass ihr die lösung wie nix aus dem ärmel schütteln könnt.

ich möchte euch kurz mein problem schildern:

ich hab im internet eine auktionssoftware laufen, die in perl geschrieben ist und natürlich eine mysql datenbank benötigt. bevor ich updates durchführen will, möchte ich das vorher zu hause auf einem testserver testen. d.h. der server soll exakt so sein wie im netz. gleicher name, gleiche db (name, user, pw) usw. xampp scheint mir für mich als windows idioten genau das richtige zu sein.

als system nutze ich suse 10, xampp ist installiert, vhost eingerichtet (bei www.meineseite.de komme ich auf den vhost und nicht ins internet, genau so wie ich es haben wollte), in mysql eine datenbank eingerichtet (mit hilfe von phpmyadmin) mit dem gleichen usernamen und pw wie im internet auch. alles bestens, ich war glücklich. ein testscript in perl, was mir zeigen sollte, ob alle benötigten komponenten installiert sind, lief auch wunderbar.

das einzige problem was jetzt auftritt ist dieses:
wenn ich das install.pl script ausführe, was die auktionssoftware auf der testumgebung installieren soll, bekomme ich einen fehler "keine verbindung zur datenbank" wenn ich als datenbanknamen "localhost" eintrage. nehme ich hingegen 127.0.0.1 als name klappt es. im internet läuft es mit localhost. als möchte ich natürlich, dass es auch zu hause damit läuft, weil ich probleme befürchte, wenn ich zu hause mit 127.0.0.1 teste und dann auf den server im internet kopiere, wo es ja mit localhost läuft. (ich habs übrigens in der zwischenzeit im internet ausprobiert, mit 127.0.0.1 läuft es definitiv nicht)
über die shell komme ich mit dem mysql befehl sowohl mit localhost als auch mit 127.0.0.1 auf die datenbank. das funktioniert also auch, an der datenbank kann es nicht liegen. jetzt hat mir irgendjemand erklärt (ich weiss nicht ob das stimmt, ich gebs einfach mal so weiter) das es wahrscheinlich daran liegt, das ich bei 127.0.0.1 über tcp/ip gehe, bei localhost über einen mysql socket. da aber die scripte den perl interpreter von suse nutzen (#!/usr/bin/perl), wüsste der nicht wo das mysql socket von xampp liegt, weil er ja nach dem suse socket sucht...oder so ähnlich.
wie kann ich das ändern? liegt es überhaupt daran?
könnt ihr mir bei meinem problem helfen?

viele grüße
ein ansonsten begeisterter xampp nutzer
 
Hast du denn wenigstens mal versucht, mit einem Hilfsscript erstmal eine Datenbankverbindung aufzubauen?

Im Grunde kann das nicht so ganz sein, was du da beschreibst. In deiner /etc/hosts hast du drinstehen, das 127.0.0.1 localhost entspricht.
Damit kann es nicht passieren, das er localhost nicht kennt, wohl aber die 127.0.0.1

Zudem würde es mich stuzig machen, das es über die Shell funktioniert, nicht aber über dein Script.

Um weitere Fehler vorzubeugen nimm einfach die 127.0.0.1 zum Testen, und auf deinem Server dann localhost. Denn in der Funktion des Scriptes ist es im absolut egal, wie er die Verbindung aufbaut, wenn die steht, funzt auch die Software.

Bei der Arbeit mit mehreren Servern muss man nun mal so flexibel sein, banalitäten (ob da nun 127.0.0.1 oder localhost steht) aussen vor zu lassen, um mit seiner eigentlichen Arbeit vorran zu kommen.
 
ich befürchte auch, dass ich mit 127.0.0.1 arbeiten muss.

ich hatte nur die hoffnung, das es für linux spezis ein leichtes ist, dieses problem aus dem weg zu schaffen.

aber du hast recht, ich werde zu hause mit 127.0.0.1 arbeiten und wenn ich die dateien dann auf den server im netz kopiert habe, auf localhost umstellen.
 
Hast Du bei MySQL dem Benutzer auch erlaubt sich von "localhost" zu verbinden, oder nur von 127.0.0.1?
 
nbkr schrieb:
Hast Du bei MySQL dem Benutzer auch erlaubt sich von "localhost" zu verbinden, oder nur von 127.0.0.1?

wenn ich jetzt genau wüsste was du meinst, könnte ich dir die frage vielleicht beantworten.

in der shell kann ich mit "mysql -u ... usw." sowohl über localhost als auch über 127.0.0.1 verbinden. von daher gehen ich davon aus, dass mein user über localhost verbinden darf. oder hab ich das falsch verstanden?
 
Von wo aus er sich einloggen darf, kannst du über den PHPmyAdmin prüfen. Und zwar gehst du dann einfach in die Datenbank mysql, da in die Tabelle user. Da Siehst du dann in der Spalte Host, von wo aus sich welcher Benutzer verbinden darf.
 
Hallo BennyB!

Funkt es bei dir schon bzgl. Connect?
Sehe dir mal mein Posting an, habe das gleiche Problem :?

Vielleicht erkennst du bei meinen Einträgen den Fehler.

http://www.linux-club.de/viewtopic.php?t=48474

Greets Otto
 
Oben