chb1982
Goto Top

Zugriff auf MySQL von anderem Rechner

Hallo zusammen,

ich habe ein Problem von einem anderen Rechner auf meine MySQL Datenbank zuzugreifen.
Lokal auf der Maschine klappt alles wunderbar nur wenn meine PHP Inhalte auf einem anderen Rechner liegen können sie nicht mehr auf die Datenbank zugreifen.

"Keine Verbindung möglich: Lost connection to MySQL server at 'reading initial communication packet', system error: 61"

Wenn ich das richtig verstanden habe muss in der Tabelle user für Host ein % eingetragen sein, damit von allen Hosts auf die Datenbank zugegriffen werden kann. Das habe ich gemacht, geht trotzdem nicht.

Hat jemand eine Idee?

Kann es vielleicht noch ein den Einstellungen der Datenbank liegen? Die Server läuft auf einem Server mit Debian. Ich habe irgendwie das Gefühl, dass der Server evtl. die eingehende Verbindung schon nicht zu lässt?!
Deswegen werde ich das Problem auch noch im Linux-Forum eintragen.

Gruß
Christoph

Content-Key: 90634

Url: https://administrator.de/contentid/90634

Printed on: April 25, 2024 at 04:04 o'clock

Member: vbMaxi
vbMaxi Jun 25, 2008 at 11:14:02 (UTC)
Goto Top
Hey,
kann es vllt. sein, dass eine Firewall das Verbinden verbietet???

Ist nur so ne Überlegegung.

mfg vbmaxi
Member: chb1982
chb1982 Jun 25, 2008 at 11:14:58 (UTC)
Goto Top
Nein... Firewall habe ich keine dazwischen oder auf den Rechnern installiert.
Member: LordGurke
LordGurke Jun 25, 2008 at 12:27:07 (UTC)
Goto Top
Um zu testen, ob der Server von außen erreichbar ist, einfach mittels Telnet eine Verbindung zu dem Rechner auf Port 3306 (wenn nicht geändert) aufbauen und gucken, ob der Server dort antwortet.
Wenn er nicht antwortet, prüfe mal in der /etc/my.cnf , ob dort "SkipNetworking" auf true gesetzt wurde und ändere es ggf. auf "false", danach den MySQL-Server neustarten (reload funktioniert glaube ich nicht).
Btw: Was ist in den PHP-Scripten denn für eine Adresse als Datenbankserver angegeben?
Member: chb1982
chb1982 Jun 25, 2008 at 13:15:08 (UTC)
Goto Top
Wenn ich mit Putty auf die IP Adresse mit Port 3306 verbinden will schließt sich das Programm sofort wieder. Sehr eigenartig.

In den Scripten sind die richtigen Adressen eingetragen. Die werden über eine zentral gepflegt Konstante gefüllt.
Member: LordGurke
LordGurke Jun 25, 2008 at 13:38:06 (UTC)
Goto Top
Probier es mal über die ganz normale Windows-Eingabeaufforderung mit dem Befehl
telnet rechnerip 3306
wenn er anzeigt, dass er keine Verbindung zum Host aufbauen kann, nimmt der MySQL-Server keine Verbindungen an.
Bekommst du allerdings nur ein leeres Fenster mit Kauderwelsch drin, kannst du Verbindungen zum Server aufbauen (was ich aufgrund des Verhaltens von Putty mal vermute).
Mitglied: 64247
64247 Jun 25, 2008 at 13:56:37 (UTC)
Goto Top
Hallo!

In der "/etc/mysql/my.cnf"

bind-address = 127.0.0.1

auskommentieren #

standard ist listen nur auf localhost
Member: chb1982
chb1982 Jun 26, 2008 at 07:42:07 (UTC)
Goto Top
Hi,

danke!!! Die bind-address hatte ich schon auskommentiert nur den Dienst nicht neu gestartet. Jetzt funktioniert es super!

Vielen Dank!!!
Member: TiCar
TiCar Feb 26, 2009 at 06:44:12 (UTC)
Goto Top
Hi,

habe hier die gleiche Thematik, nur dass ich es nicht komplett aufmachen will, sondern, dass der mySQL Server nur auf eine ganze bestimmte IP, nämlich die aus unserem Büro (feste IP) hören soll. Ist dies auch zu realisieren und wenn ja wie?

MFG,
Lars
Member: Dani
Dani Feb 26, 2009 at 07:29:03 (UTC)
Goto Top
Hi Lars,
zuerstmal musst du die Konfiguration erfolgt in der "/etc/mysql/my.cnf".

Dort gibt es einen Eintrag:
bind-address = 127.0.0.1
auf
bind-address = 0.0.0.0
ändern. Danach legst du einen MySQL User an und hinterlegst, die IP-Adresse wo drauf zugreifen darf. Alternative wäre noch, dass du auf dem Server mit IPTABLES arbeitest - somit kannst du auch klar definieren, welcher Rechner darf (nicht).


Grüße,
Dani

P.S. Nächstes MAl bitte einen neuen Beitrag schreiben!
Member: TiCar
TiCar Feb 26, 2009 at 07:47:00 (UTC)
Goto Top
Hi,

danke für die schnelle Antwort.

D.h. der User wird extra für den externen Zugriff angelegt und bei HOST die feste IP unseres Büros eingetragen, korrekt? Und dann halt noch was der User alles darf, oder besser gesagt was er nicht darf (SELECT, INSERT, UPDATE, ...)

Was für Rechte muss der User haben, um die DB replizieren zu können?

Ich vermute ich muss auch noch in der Firewall den Port 3306 für freischalten.

PS: Das Board hat mich extra drauf hingewiesen, dass ich kein neuen Beitrag aufmachen soll, da es das Thema ja schon gibt :oops:
Member: Dani
Dani Feb 27, 2009 at 11:49:48 (UTC)
Goto Top
Hi,
richtig...

Was für Rechte muss der User haben, um die DB replizieren zu können?
Ich nehme mal an -> Full; Alle Rechte.

Ich vermute ich muss auch noch in der Firewall den Port 3306 für freischalten
Jup, es müsste aber "Outgoing" reichen.

Das Board hat mich extra drauf hingewiesen, dass ich kein neuen Beitrag aufmachen soll, da es das Thema ja schon gibt :oops:
Ok...ich schaus mir mal an....


Grüße,
Dani