# MySQL - externer Zugriff



## hahni (10. März 2014)

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


----------



## robotto7831a (10. März 2014)

Bekommst Du überhaupt ein Anmeldefenster von MySQL oder scheitert es "nur" an Benutzer und Passwort?


----------



## hahni (10. März 2014)

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 (10. März 2014)

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 (10. März 2014)

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?


----------



## hahni (10. März 2014)

Hat sonst keiner mehr einen Tipp?


----------



## hahni (18. März 2014)

Leider funktioniert die Sache noch immer nicht, weswegen ich immer noch sehr froh um Tipps wäre...


----------



## florian030 (19. März 2014)

Was zeigt Dir denn 
	
	



```
netstat -tan|grep 3306
```
?

Wenn mysql richtig für externe Zugriffe konfiguriert ist, dann sieht Du u.a. 
	
	



```
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
```
Hast Du nach 
	
	



```
UPDATE user
```
 und 
	
	



```
UPDATE db
```
 den sql-server mal mit 
	
	



```
/etc/init.d/mysql restart
```
 neu gestartet?

Geht denn 
	
	



```
telnet example.de 3306
```
 lokal und remote?


----------



## hahni (19. März 2014)

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.


----------



## Till (19. März 2014)

hast Du die Firewall auch mit:

iptables -L

kontrolliert?


----------



## hahni (21. März 2014)

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 (21. März 2014)

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


----------



## hahni (21. März 2014)

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...


----------



## wotan2005 (21. März 2014)

Dann sollte jetzt der externe Zugriff auf die Datenbanken auch möglich sein.


----------



## hahni (21. März 2014)

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 (21. März 2014)

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 (21. März 2014)

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


----------



## robotto7831a (22. März 2014)

Du solltest überlegen, mal den Client zu aktualisieren. 

 Diese Funktion wurde in Version 4.1 geändert und mittlerweile sind wir bei Version 5.5.x.

MySQL :: MySQL 5.1 Referenzhandbuch :: 5.8.9 Kennwort-Hashing ab MySQL 4.1


----------

