mabue88
Goto Top

Verbindung zu MySQL-Server aufbauen?

Hallo,

ich habe auf einem Rechner einen WAMP-Server installiert (http://www.wampserver.com/en/).
Bislang habe ich über den localhost auf die einzelnen Systeme des Servers zugegriffen.

Nun wollte ich aber mit einem MySQL-Client von einem anderen Rechner auf die Datenbank zugreifen. Mit einem anderen MySQL-Server im Netzwerk verbindet sich der Client problemlos.
Beim Verbindungsversuch mit dem MySQL-Server des WAMP-Servers kommt die Meldung:
Unable to connect to any of the specified MySQL hosts.

Die angegebene IP-Adresse, der Port, der Benutzername, das Passwort und die zu verwendende Datenbank sind korrekt.

Im Netz habe ich gelesen, dass man beim MySQL-Server die 'bind-address' einstellen muss/kann. Diesen Parameter habe ich aber bisland in keiner Konfigurationsdatei gefunden. In der Logdatei sind diese Zeilen zu finden:
2014-07-16 17:15:38 2176 [Note] Server hostname (bind-address): '*'; port: 3306  
2014-07-16 17:15:38 2176 [Note] IPv6 is available.
2014-07-16 17:15:38 2176 [Note]   - '::' resolves to '::';  
2014-07-16 17:15:38 2176 [Note] Server socket created on IP: '::'.  
2014-07-16 17:15:41 2176 [Note] Event Scheduler: Loaded 0 events
2014-07-16 17:15:41 2176 [Note] wampmysqld: bereit für Verbindungen.
Version: '5.6.17'  Socket: ''  Port: 3306  MySQL Community Server (GPL)  

Kennt sich jemand mit dem Problem aus und kann mir sagen, was ich falsch mache?

Danke
mabue

Content-ID: 243856

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

Ausgedruckt am: 22.11.2024 um 12:11 Uhr

drobskind
drobskind 16.07.2014 um 17:39:46 Uhr
Goto Top
Hallo,

Mal so eine Vermutung ins Blaue aus meiner Erfahrung:
Manche Installationen erlauben nur einen Zugriff vom localhost.
Das ist dann meist in einer Config hinterlegt.
Kann es daran liegen?

Kenne mich mit WAMP leider nicht aus.

Gruß
Gersen
Gersen 16.07.2014 aktualisiert um 22:41:19 Uhr
Goto Top
Hallo,

zunächst benötigst Du einen Eintrag in der Windows-FW des Rechners, auf dem WAMP installiert ist.
Füge in den FW-Einstellungen (Kommunikation von Programmen durch die Windows-FW zulassen) das Programm "mysqld.exe" hinzu (zu finden unter dem WAMP-Installationspfad\bin\mysql\mysql5.6\bin).

Erstelle einen Nutzer (per phpmyadmin oder MySQL-Client), der sich von außerhalb anmelden darf. Beispiel für den Weg zu Fuß:
grant all privileges on *.* to 'nutzer'@'%' identified by 'password';
flush privileges;
(Achtung - sicherheitskritisch: Der Nutzer darf sich von überall anmelden (%), hat vollen (all privileges) Zugriff auf alle Datenbanken (*.*) - ggf. einschränken!)

Damit solltest Du Dich (ggf. Neustart des MySQL-Dienstes) von jedem Rechner mittels
mysql -unutzer -ppassword -h{IPdesServers}
anmelden können.

Gruß,
Gersen
bytecounter
bytecounter 17.07.2014 um 09:54:37 Uhr
Goto Top
Hallo,

ich kenne jetzt die Standardkonfig von wampserver auch nicht. Es kann aber schon sein, dass Du den bind-address Eintrag anasspen musst. Dieser bestimmt, auf welchen IP-Adressen der MySQL Server lauscht. Der Eintrag steht in der my.cnf (bei Debian im Verzeichnis /etc/mysql/).
bind-address = 127.0.0.1
ist der Standardeintrag und lauscht nur lokal. Mit
bind-address= 0.0.0.0
lauscht der MySQL Server auf allen verfügbaren Adressen.

Wenn der Server den Benutzer auf Grund einer Beschränkung abweisen würde, sieht die Fehlermeldung eigentlich anders aus, aber ein Blick auf die Rechte der Benutzer kann ja nicht schaden. Diese findest Du in der Tabelle 'user' in der mysql Datenbank:
USE `mysql`;
SELECT * FROM `user` 
Zeigt Dir alle MySQL Benutzer an. Dort schaust Du bei dem von Dir verwendeten User, was in der Host-Spalte steht. Diese definiert, von wo sich der Benutzer anmelden darf. Ein % steht für alle Hosts.

Im Gesamten kann ich Dir die (recht gute) Dokumentation von MySQL empfehlen:
http://dev.mysql.com/doc/refman/5.1/de/index.html

vg
Bytecounter
mabue88
mabue88 21.07.2014 um 09:24:21 Uhr
Goto Top
Hallo Zusammen,

danke für die Tipps.

In der my.ini war keine Zeile bezüglich der "bind-address" zu finden. Deswegen habe ich diese Zeile einfach mal manuell eingefügt.
Anhand der Logdatei ist zu sehen, dass der Server jetzt auf die entsprechende Adresse hört. Allerdings kann ich immernoch keine Verbindung zur Datenbank von einem anderen Rechner aufbauen.

Nach der Eingabe des Befehles
mysql -u nutzer -p -h 192.168.0.10
werde ich nach dem Passwort gefragt. Nachdem dieses mit Enter bestätigt wurde bleibt die Anzeige einfach stehen. Es kommt keinerlei Meldungen...

Durch die Windows-Firewall sollte MySQL durchkommen.

Danke schon mal!

Gruss
mabue
Gersen
Gersen 21.07.2014 aktualisiert um 09:47:48 Uhr
Goto Top
Kannst Du von einem anderen Rechner den MySQL-Server per
telnet 192.168.0.10 3306
erreichen (bei Windows muss dafür der Telnet-Client aktiviert sein)? - Es sollten die MySQL-Version und irgendwelche Hieroglyphen angezeigt werden, wenns funktioniert.
mabue88
mabue88 22.07.2014 um 08:11:35 Uhr
Goto Top
Hallo,

mit WAMPP bin ich kein bischen weitergekommen. Weder per Telnet, noch per MySQL-Client konnte ich von einem anderen Rechner auf den Server zugreifen. In der Logdatei stand, dass der Server auf die passende IP-Adresse und den passenden Port hört, aber es konnte einfach keine Verbindung aufgebaut werden. MySQL hatte vollen Durchgang durch die Firewall.

Da ich nicht weitergekommen bin habe ich WAMPP deinstalliert und dafür XAMPP installiert. Siehe da, es funktioniert. Es musste zwar auch einige Konfigurationen vorgenommen werden, aber im Netz habe ich dafür genügend Beispiele gefunden.

Trotzdem vielen Dank für eure Hilfe!

Gruss
mabue