markus.tullius
Dauergast
- 342
Deine, aber eben nicht meine.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion erfordert derzeit den Zugriff auf die Seite über den integrierten Safari-Browser.
markus.tullius schrieb:Deine, aber eben nicht meine.
Entscheidend ist der “Connection refused“-Fehler, der Server ist erreichbar, aber der mysqld bindet dort nicht auf die öffentliche Adresse, zu prüfen mit dem Befehl “ss -lt“ und gehe dabei mal grob von einem unter Linux laufenden MySQL- oder MariaDB-Server aus. Auch mal ein “iptables -L“ oder ein “iptables -L -t NAT“loslassen, um zu sehen, ob evtl. eine Firewall den Weg verstellt.FalkeNr1 schrieb:Hallo liebe Community,
ich würde meine App gerne mit einer externen MySQL Datenbank verknüpfen.
Die Datenbank steht und sollte unter der IP-Adresse 84.200.24.110 bzw "ts3.letszockwhatever.de" erreichbar sein.
In der App habe ich bereits folgendes implementiert:
MainActivity
Code:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ConnectToMySQL mysql = new ConnectToMySQL(); mysql.execute(); } private class ConnectToMySQL extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String[] params) { String url = "jdbc:mysql://ts3.letszockwhatever.de:3306/test"; String user = "root"; String password = "**ZENSIERT**"; Log.v("Verbindung zur DB", "Verbindung wird aufgebaut..."); try { Class.forName("com.mysql.jdbc.Driver"); Log.v("Verbindung zur DB", "Driver erfolgreich geladen!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { Connection connection = DriverManager.getConnection(url, user, password); Log.v("Verbindung zur DB", "Verbindung erfolgreich aufgebaut!"); } catch(SQLException e) { e.printStackTrace(); } return "some message"; } @Override protected void onPostExecute(String message) { //process message } }
Jedoch kann keine Verbindung zur MySQL-Datenbank aufgebaut werden...
Error:
Code:11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.ConnectException: failed to connect to ts3.letszockwhatever.de/84.200.24.110 (port 3306): connect failed: ECONNREFUSED (Connection refused) 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: ** BEGIN NESTED EXCEPTION ** 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: java.net.SocketException 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: MESSAGE: java.net.ConnectException: failed to connect to ts3.letszockwhatever.de/84.200.24.110 (port 3306): connect failed: ECONNREFUSED (Connection refused) 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: STACKTRACE: 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: java.net.SocketException: java.net.ConnectException: failed to connect to ts3.letszockwhatever.de/84.200.24.110 (port 3306): connect failed: ECONNREFUSED (Connection refused) 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143) 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225) 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805) 11-22 22:31:47.847 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.Connection.<init>(Connection.java:452) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:179) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:213) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at de.kickerapp.falkopartzsch.kickerapp.gui.MainActivity$ConnectToMySQL.doInBackground(MainActivity.java:88) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at de.kickerapp.falkopartzsch.kickerapp.gui.MainActivity$ConnectToMySQL.doInBackground(MainActivity.java:64) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.lang.Thread.run(Thread.java:818) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: ** END NESTED EXCEPTION ** 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875) 11-22 22:31:47.848 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.Connection.<init>(Connection.java:452) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:179) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:213) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at de.kickerapp.falkopartzsch.kickerapp.gui.MainActivity$ConnectToMySQL.doInBackground(MainActivity.java:88) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at de.kickerapp.falkopartzsch.kickerapp.gui.MainActivity$ConnectToMySQL.doInBackground(MainActivity.java:64) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 11-22 22:31:47.849 8545-8612/de.kickerapp.falkopartzsch.kickerapp W/System.err: at java.lang.Thread.run(Thread.java:818)
Was könnte der Fehler sein?
Desweiteren bin ich mir auch nicht zu 100% sicher was die Wahl des Ports (3306) angeht, jedoch ist dies der Standard-Port und sollte deswegen eigentlich richtig sein. Aber zur Sicherheit: Wie kann ich den Port der MySQL einsehen bzw abfragen?
Vielen Dank schon einmal im Vorraus!
Mit freundlichen Grüßen
Falke