2009-03-14 6 views
2

ProblemBenutzer können nicht aus der Ferne zu MySQL verbinden

Benutzer von anderen IP-Adressen auf dem (Windows XP) LAN plötzlich nicht mehr zu meinem lokalen MySQL-Server verbinden kann.

Hintergrund

ich MySQL auf meinem lokalen Windows-Computer eingerichtet haben, so dass andere Computer im Netzwerk Zugriff auf das Konto root haben. Ich habe jede IP als Host für root hinzugefügt. Bis vor einigen Wochen funktionierten die Dinge reibungslos und ich konnte mich mit dem Server programmatisch und mit verschiedenen MySQL-Admin-Tools verbinden. Nun aber lehnt der MySQL-Server Verbindungen von diesen IPs einfach ab und ich kann nicht herausfinden warum.

Die Netzwerkänderungen, die ich gemacht habe, sind: Ändern der Netzwerkkarte für zwei (von drei) Computern und herumfummeln mit MySQL-Einstellungen. Keine von denen sollte dieses Problem verursacht haben. Ich habe versucht, mit allen relevanten Hosts Hinzufügen eines neuen Benutzers, aber ich bekomme die gleiche Art von Fehler:

MySQL Error number 1045 Access denied for user 'root'@'shop' (using passwords: YES)

Der ungerade Teil ist, dass der Computername, ‚Laden‘, statt der IP verwendet wird. Ich weiß nicht warum.

Antwort

1

Als erstes fällt die Windows-Firewall auf, die möglicherweise wieder aktiviert wurde, wenn Sie NICs auf dem Hostcomputer ausgetauscht haben.

Mein nächster Vorschlag wäre, einen Sniffer wie Wireshark auf dem Host-Computer zu verwenden und zu sehen, was genau paketweise passiert. Sie können Filter verwenden, um die Ausgabe zu reduzieren - sie sind sehr einfach und einfach zu bedienen. Dieses Tool hat mir unzählige Stunden Debugging erspart.

-EDIT-

Eine weitere mögliche Ursache könnte sein, dass der Server IP-Adressen zu Hostnamen aufzulösen beschlossen, irgendwie, in welchem ​​Fall die IP-Adressen nicht kann mehr Arbeit - man braucht Host-Namen der erlaubten Liste hinzuzufügen. Nicht sicher, ob es so für MySQL funktioniert.

+0

Windows-Firewall ist nicht aktiviert. Ich benutze eine andere Software-Firewall, aber das ist komplett deaktiviert. Danke für den Vorschlag Wireshark. Ich denke, dass ich hinzufügen muss, dass die Clients in der Lage sind, eine Verbindung zum Server herzustellen, dass ihnen jedoch der Zugriff verweigert wird. – AquinasTub

+0

Sie sind wir richtig! Ich habe bereits den Namen jedes Computers als Host hinzugefügt, aber sie in Großbuchstaben geschrieben statt in die Groß- und Kleinschreibung - dachte, dass mysql-Hostnamen nicht von Groß- und Kleinschreibung unterschieden werden. – AquinasTub

0

Konnten Sie TCP Verbindungen in MySQL abstellen?

Ist der MySQL-Port auch in Ihrer Firewall geöffnet?

+0

TCP-Verbindungen ausgeschaltet? Ich erinnere mich nicht daran, Einstellungen zu berühren. Der Beitrag ist offen, aber ich habe sogar die Firewall auf dem MySQL-Server deaktiviert. – AquinasTub

2

Irgendwie scheinen IPs jetzt aufgelöst zu sein und Hostnamen werden verwendet. Hast du Zugang zu root @ shop gewährt? Hast du Privilegien geleert?

+0

Ja, ich habe sowohl Namen als auch IPs für jeden Computer hinzugefügt. Aber ich habe keine Privilegien errötet. Danke für den Tipp! – AquinasTub

+0

Das war mehr als ein Trinkgeld. Das war die Antwort :) –

0

Wenn Sie Ihre IP geändert (? DHCP), stellen Sie sicher, dass es in my.cnf zu korrigieren, wenn Sie gebundenen mysqld zu Ihrem lan ip:

[mysqld] 
... 
bind-address=192.168.x.y 
Verwandte Themen