MySQL - externer Zugriff

hahni

Active Member
Hallo zusammen,

ich möchte gerne, dass auf einem Kundenserver der externe Zugriff für MySQL aktiviert ist.

Dazu habe ich wie in dieser Anleitung hier (HowTo: externen MySQL Zugriff erlauben + sperren mit iptables) den Parameter "bind-address = 0.0.0.0" gesetzt.

Zudem ist der Host in der "db"- und "users"-Tabelle entsprechend auf % gesetzt. Trotzdem aber ist kein externer Zugriff möglich. Dienst ist neu gestartet und das System Ubuntu 10.04 LTS.

Wer kann mir sagen, woran das noch liegen könnte?

Viele Grüße

Hahni
 

hahni

Active Member
Vielen lieben Dank für deine Antwort :)!

Verbindung generell scheint zu funktionieren:
--
Connection to x.x.x.x on port 3306 was successfull
--

Demnach wird es am Benutzer und Kennwort liegen?!?
 

nowayback

Well-Known Member
benutzer brauchen das recht von jedem host verbinden zu dürfen, nicht nur von localhost. schau dir das mal in der zugehörigen tabelle an.
 

hahni

Active Member
Ich weiß! Darum habe ich auch bei Host jeweils ein "%" eingetragen. Aber trotzdem geht es nicht. Aber ich vermute auch, dass es eher an den Berechtigungen für den Benutzer oder die Datenbank liegt. Doch wo noch suchen?
 

florian030

Well-Known Member
Was zeigt Dir denn
Code:
netstat -tan|grep 3306
?

Wenn mysql richtig für externe Zugriffe konfiguriert ist, dann sieht Du u.a.
Code:
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
Hast Du nach
Code:
UPDATE user
und
Code:
UPDATE db
den sql-server mal mit
Code:
/etc/init.d/mysql restart
neu gestartet?

Geht denn
Code:
telnet example.de 3306
lokal und remote?
 

hahni

Active Member
Hallo Florian,

MySQL scheint richtig konfiguriert zu sein, denn meine Ausgabe sieht identisch zu deiner aus:

--
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
--

In der db- und user-Tabelle ist bei Host immer ein "%" drin. Daher gehe ich davon aus, dass dieser Benutzer auch auf dieser Datenbank externen Zugriff haben darf. Das aber hat schon ISPConfig 2 übernommen, denn da kann man ja einstellen, ob auch ein Zugriff von außen möglich sein soll.

Neu gestartet habe ich den Dienst ebenso wie den Server. Daher bin ich nun ratlos, woran das noch liegen könnte. Im übrigen läuft die Firewall auch nicht. Die habe ich über die ISPConfig2-Oberfläche auf inaktiv gesetzt.
 

hahni

Active Member
Die Ausgabe lautet wie folgt:

--
Chain INPUT (policy ACCEPT)
target prot opt source destination
blockhosts all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
blockhosts all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain blockhosts (2 references)
target prot opt source destination
--
 

wotan2005

Member
Hast du auch nach dem ändern des User in der Tabelle mysql/user sowie mysql/db die Benutzerrechte neu geladen? (flush privileges)
 

hahni

Active Member
Im Grunde genommen ist es ja "nur" als Admin/Root "flush privileges;", richtig? Das habe ich ausgeführt. Ob externer Zugriff oder nicht, kann man in ISPConfig 2 im Admin-Bereich auswählen und laut users- und db-Tabelle ist da auch für den Host ein "%" gesetzt...
 

hahni

Active Member
Dann kann es eigentlich nur noch an meinem lokalen Rechner liegen. Die AVG-Virewall hatte ich aber auch schon einmal deaktiviert und trotzdem ging es nicht. Lokal habe ich Zugriff auf den FileServer. So gesehen dachte ich eigentlich, dass es beim Rechner im RZ genauso geht mit der Konfiguration.
 

hahni

Active Member
Via telnet scheint der Zugriff zu funktionieren. Zumindest scheint der Port offen zu sein. Also von daher muss die Uhrsache wohl doch woanders liegen?

--
root@server:~# telnet x.x.x.x 3306
Trying x.x.x.x...
Connected to x.x.x.x.
Escape character is '^]'.
E
5.1.73-0ubuntu0.10.04.1
--
 

hahni

Active Member
Ich bin der Sache wieder ein bisschen näher gekommen. Zugriff von Extern funktioniert - zumindest mit Workbench.

Daher ist mir nun auch klar geworden, dass es an der alten Visual Basic 6 Anwendung und dem ODBC-Connector 3.51 liegt, der benötigt wird.

Denn in der Systemsteuerung habe ich manuell versucht, eine Verbindung aufzubauen. Als Fehlermeldung kam daher diese:

--
Client does not support authentication protocol requested by server, consider upgrading MySQL client.
--

Wenn ich mich recht entsinne, kann man beim MySQL-Server einstellen, dass er die alten Passwörter (plain oder wie das hieß) akzeptieren soll.

Weiß jemand von euch, was man da ein- bzw. umstellen musste?

Besten Dank!

Hahni
 

Werbung

Top