Problem mit Netzwerkverbindung MySQL-Server

23/02/2015 - 14:05 von Hartmut Kraus | Report spam
Hallo,

Ich habe in meinem LAN (eine Maschine und ein DSL-Router) drei Hosts,
die so verbunden sind / Verbindung aufnehmen können:

"Melina" 192.168.2.1 192.168.2.254 (DSL-Router) 178.10.180.118
(Internet)
|
"Winlina" (Virtuelle Maschine) 192.168.2.2

(Selbstredend auch "localhost" 127.0.0.1)

Das Problem: Der MySQL-Server ist nur unter "localhost" ansprechbar
(also vom Gastsystem auf der VM gar nicht) - obwohl er eigentlich auf
Verbindungsanfragen von allen im Netz existierenden Adressen antworten
müsste. Was hab' ich nur falsch gemacht:

https://forums.virtualbox.org/viewt...&tf267

Ihr seid meine letzte Hoffnung. ;)

http://www.hkraus.eu/
 

Lesen sie die antworten

#1 Reinhardt Behm
23/02/2015 - 08:04 | Warnen spam
On 23.02.2015 22:35, Hartmut Kraus wrote:
Am 23.02.2015 um 15:18 schrieb Reinhardt Behm:
On 23.02.2015 21:05, Hartmut Kraus wrote:

Hallo,

Ich habe in meinem LAN (eine Maschine und ein DSL-Router) drei Hosts,
die so verbunden sind / Verbindung aufnehmen können:

"Melina" 192.168.2.1 192.168.2.254 (DSL-Router) 178.10.180.118
(Internet)
|
"Winlina" (Virtuelle Maschine) 192.168.2.2

(Selbstredend auch "localhost" 127.0.0.1)

Das Problem: Der MySQL-Server ist nur unter "localhost" ansprechbar
(also vom Gastsystem auf der VM gar nicht) - obwohl er eigentlich auf
Verbindungsanfragen von allen im Netz existierenden Adressen antworten
müsste. Was hab' ich nur falsch gemacht:

https://forums.virtualbox.org/viewt...&tf267

Ihr seid meine letzte Hoffnung. ;)



Bei MySQL muss man die Kommunikation per TCP explizit freischalten,
sonst redet das nur lokal. Hast Du das gemacht?



Dachte ich ja, indem ich dem Server "bind-adress=0.0.0.0" (also
praktisch alle) zugewiesen hatte - und explizit nochmal per "iptables"
localhost, 192.168.2.1 und 192.168.2.2:

# Generated by iptables-save v1.4.14 on Sun Feb 22 21:22:48 2015
*filter
:INPUT ACCEPT [1133:430152]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [828:96059]
-A INPUT -i lo -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 192.168.2.1/32 -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 192.168.2.2/32 -p tcp -m tcp --dport 3306 -j ACCEPT
COMMIT
# Completed on Sun Feb 22 21:22:48 2015

Also wohl falsch gedacht - wie macht man's richtig?




Ich bin leider im Moment am falschen Rechner und kann's deshalb nicht
nachprüfen.

Gibt er auf
telnet <mysql-server> 3306


Anwort?

Vielleicht hilft das weiter
<http://futureislinux.blogspot.tw/20...l.html>

Zudem musst Du noch die Zugriffrechte für externe User freischalten:

Das '%' ist der Wildcard für den/die Hosts, von denen der user kommt.

GRANT ALL PRIVILEGES ON *.* TO user_name@'%' IDENTIFIED BY ‘pass_word’;
flush privileges;


HTH Reinhardt

Ähnliche fragen