Keine externe Verbindung mit MySQL möglich (Nach BS wechsel)

Ice-Tea

New Member
Hallo zusammen,

ich habe eine Strato Powerserver. Bischer hatte ich Suse 9.3 inkl. Serveradmin installiert.
Da Strato seit kurzem aber eine Debian 3.1 inkl. Serveradmin24 anbietet hab ich mich kurzerhand entschossen das BS zuwechseln.

Schon alleine weil mir das System besser gefällt bzw leichter anzupassen ist, aber das spielt jetzt keine Rolle.

Ich Arbeite derzeit an einem MMOG, das per Connector/J 5.1 (JAVA) zugriff auf den MySQL bekommt.

Leider musste ich nach der Neuinstallation feststellen, das ich mich nicht mehr mit dem Server verbinden kann.
Zuerst dachte ich es würde an den Rechten der MySQL User liegen, die zu dem zeitpunkt nur von "localhost" zugriff zugelassen haben, dem ist aber leider nicht so.

Da ich mir dem JDBC Treiber Connector/J 5.1 arbeite kam mir da auch noch die MySQL Version in den Kopf, die muss bei der 5.1er Version min. 4.1 sein.

Ich hab also auch noch MySQL von Version 4.0.24 auf 4.1 upgedated.

Funktioniert alles wunderbar, nur bekomm ich immernoch keine Verbindung von einer externen IP.


Hat jemand eine Idee?


PS: Seltsamerweise zeigt phpMyAdmin zwei verschiedene Versionen an.

Oben in fetter schrift steht:
MySQL - 4.1.11-Debian_4sarge7-log phpMyAdmin - 2.8.0-rc1

Eine zeile darunter steht:
MySQL Client-Version: 4.0.24

Der befehlt mysql --version endete mit:
mysql Ver 14.7 Distrib 4.1.11, for pc-linux-gnu (i386)

Ich weiß nicht mehr weiter...

Danke für eure Hilfe!
 
Änder per PHPMYADMIN einfach für den User mit dem du von extern zugreifen willst den Host von "loaclhost" auf "%" dann gehts von überall ;)
 
Macht dein MySQL Server ein listen auf deine externe IP auch?

Welche Fehlermeldung bekommst du denn?

Edit: zu langsam, aber egal, da Oliver wieder mal nicht lesen konnte :-P

Zuerst dachte ich es würde an den Rechten der MySQL User liegen, die zu dem zeitpunkt nur von "localhost" zugriff zugelassen haben, dem ist aber leider nicht so.
 
hier ein kurzer Stacktrace, der auftritt sobald ich mich versuche mich mit dem mysql-server zu verbinden.

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at starfighters.UserData.UserData(UserData.java:40)
at starfighters.Login.send(Login.java:154)
at starfighters.Login.access$000(Login.java:16)
at starfighters.Login$1.actionPerformed(Login.java:61)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


** END NESTED EXCEPTION **

Also in der /etc/mysql/my.cnf steht Port 3306 drin

netstat -a sagt mir auch das dort irgentwas belauscht wird.

Von Lokalen Webseiten funktionier alles wunderbar


Stimmt es denn, das in der config die loopback adresse statt der IP des Server gelistet ist?
 
OK, es lag tatsächlich an der IP, war auch ne blöde frage :o


Jetzt noch etwas anderes. Da ich kein iptables spezialist bin und mir die jetztige lösung (mysqld direkt an ip gebunden) nicht gefällt, die frage ob bzw. wie ich iptables beibringe pakete an loopback weiterzugeben.

Ich denke, das ist doch bestimmt sicherer, oder nich?
 
Back
Top