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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90634
Url: https://administrator.de/forum/zugriff-auf-mysql-von-anderem-rechner-90634.html
Ausgedruckt am: 13.04.2025 um 19:04 Uhr
11 Kommentare
Neuester Kommentar
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?
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?
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).
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).

Hallo!
In der "/etc/mysql/my.cnf"
bind-address = 127.0.0.1
auskommentieren #
standard ist listen nur auf localhost
In der "/etc/mysql/my.cnf"
bind-address = 127.0.0.1
auskommentieren #
standard ist listen nur auf localhost
Hi Lars,
zuerstmal musst du die Konfiguration erfolgt in der "/etc/mysql/my.cnf".
Dort gibt es einen Eintrag:
auf
ä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!
zuerstmal musst du die Konfiguration erfolgt in der "/etc/mysql/my.cnf".
Dort gibt es einen Eintrag:
bind-address = 127.0.0.1
bind-address = 0.0.0.0
Grüße,
Dani
P.S. Nächstes MAl bitte einen neuen Beitrag schreiben!
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:
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:
Hi,
richtig...
Grüße,
Dani
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