Verknüpfung von mySQL Datenbank (phpMyadmin) auf Webserver mit Java Programm?
Hallo zusammen, ich versuche gerade ein Java-Programm zu schreiben dass mit einer Datenbank kommunizieren soll die auf meinem Webhoster all-inkl liegt.
ich bin mittlerweile soweit gekommen den JDBX Treiber in mein JavaProjekt zu integrieren (glaube ich zumindest), bei der Connection mit der Datenbank muss man ja die URL eingeben. Laut Recherchen sieht die so aus:
"jdbc:mysql://db_ip:3306/dbName"
den Datenbanknamen finde ich natürlich sofort, aber kann mir jemand helfen bei der Datenbank-IP? Wie und wo finde ich die denn? Wäre sehr dankbar um Hilfe, habe jetzt sehr lange recherchiert und würde hier nicht reinschreiben aus Faulheit oder so.
Bin noch überhaupt nicht bewandert mit Datenbanken und die Verbindung dazu...
LG
5 Antworten
https://howtodoinjava.com/java/jdbc/jdbc-mysql-database-connection-example/
Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");
Statt localhost steht dann bei dir z.B. www.nuehm.de
Und natürlich statt root password etwas anderes, so wie mysqluser passwort
Wow es hat tatsächlich funktioniert! mehr oder weniger, ich bekomme jetzt wenigstens die Antwort:
Access denied for user 'd0369aa6@dd12818.kasserver.com'@'84.61.145.235' (using password: YES).
DAs bringt mich zur nächsten blöden Frage...: welchen user und welches passwort muss ich benutzen? ich hab noch gar keinen angelegt, aber als ich user root anlegen wollte hieß es ich habe keine berechtigung...
Lässt der Hoster denn eine Verbindung auf die MySQL DB von extern zu?
Viele Hoster verbieten es und erlauben nur Verbindungen von Intern.
Okay, dann nimmst du einfach die IP/Domain des Servers, mit dem du dich via phpMyAdmin verbindest.
Habs geschafft danke :) nur die letzte hürde: welchen user und passwort will java denn da haben? Ich hab nie einen angelegt und wenn ich es versuche in phpmyadmin wird es mir verweigert weil ich nicht genügend rechte dafür habe...
Sorry für meine doofen fragen, bin wirklich noch neu auf dem Gebiet
Daumen hoch für MySQL Workbench. Bei weitem besser als phpMyAdmin!
Navicat gefällt mir besser für die meisten sachen.
Die Workbench ist oft brutal überdimensioniert
ich logge mich da gar nicht ein... das ist wohl das problem oder? ich greife auf die Datenbank von meinem all-inkl-account aus zu und klicke nur die datenbank an worauf hin ich direkt ins phpMyAdmin komme
natürlich verwendet auch phpmyadmin einen benutzer und passwort (wobei passwort nicht unbedingt)
lege einen neuen User an mit passwort
als Host gibst du % ein
und dann teste
wenn er dich nicht rein lässt werden externe ausgesperrt.
ich bezweifel das du das ändern kannst.
Ich kenne den Hoster all inkl nicht, daher kann ich das nicht sagen.
Aber ich bin mir immer noch nicht sicher, ob der Hoster das erlaubt, von außen auf die DB zuzugreifen. Viele Hoster verbieten es, aus Sicherheitsgründen.
oha das ist ja heftig... Mein problem ist dass ich ne website mit webshop bauen will, und diese Website speichert ja standartmäßig alle Daten in der Datenbank auf meinem webhost-server über phpMyadmin soweit ich weiß...
das heißt wohl das ist eine kompliziertere Geschichte oder?
sieht wohl irgendwie so aus, aber dann frag ich mich weshalb ich es erlauben kann in den Datenbankeinstellungen
Wenn du eine Webseite baust, baust du diese i.d.R. mit PHP, HTML und JavaScript und nicht mit Java. Es sei denn, du baust eine Webseite mit JavaServerPages (JSP) und nutzt dazu einen Apache Tomcat Server, allerdings bieten kaum Hoster Server für Tomcat an, da Java eben viel zu viel Speicher frisst.
Da hast du total recht. Es geht nur darum dass ich eine kleine unkomplizierte Software schreiben will, die Die Bestllungen mehr oder weniger verwaltet. Wir wollen einen kleinen BioLieferservice machen und dafür schreibe ich gerade ein Programm zum die Kisten packen, dafür muss ich aber irgendwie über das Programm zugang zu den Bestelldaten, Kunden etc kriegen verstehst du?
Dann miete dir einen VServer, wo du alles selbst drauf hosten kannst. Wenn du Hilfe brauchst, füge mich als Freund hinzu hier auf gf. und dann kann ich dir dabei helfen.
Das ist ein total liebes Angebot... Und werde ich eventuell tatsächlich drauf zurück kommen. Aber denkst du nicht es gibt irgendeine Möglichkeit doch auf diese Datenbank zugreifen zu können? Das deprimiert mich grad ziemlich da die Website mit wordpress im groben schon steht und die Domain schon über den hoster läuft und alles
Wenn die DB auf dem gleichen Rechner läuft wie das Programm ist es der localhost. Ansonsten bekommst du die Adresse (das muss keine IP sondern kann auch eine Domain sein) von deinem Webserver-Anbieter.
Hallo, sie läuft nicht auf dem selben Gerät. Dann reicht also einfach die Domain die ich finde wenn ich auf phpMyAdmin meine Datenbank betrete...?
Ich weiß nicht was du genau meinst. Wo das Programm phpMyAdmin läuft, muss nicht auch die Datenbank laufen.
Ich denke das mit der Domain habe ich soweit hingekriet :) jetzt will er mir nur den Zugang verweigern wegen falschem user und passwort. Und da kommt eben die nächste blöde frage, woher krieg ich die Daten? Ich habe nie einen user in meiner Datenbank angelegt und muss auch kein passwort eingeben um rein zukommen...
Kannst du einfach nachschauen in phpMyAdmin. Da wo man die Benutzer mit ihren Rechten einstellt.
Ich denke da ist eines der Hauptprobleme... den Reiter gibts bei mir nicht. In einem Forum hab ich gelesen dass das was damit zu tun hat dass die Datenbank nicht lokal liegt sondern auf einem Webhosting-server. Aber das muss doch trotzdem möglich sein verschiedene User zu erstellen oder?
Als Ergänzung zu den bisherigen Antworten:
Wenn dein Programm NICHT auf der selben Maschine läuft musst du sicherstellen dass überhaupt eine Remoteverbindung möglich ist. Die meisten Datenbankserver lassen nämlich standardmäßig keine externen Zugriffe zu. Wenn du also Probleme mit dem Verbinden hast solltest du zuerst das überprüfen (in der Doku vom Webhoster nachlesen)
Danke, die Verbindung kann ich zulassen bei den Einstellungen, für localhost, für alle und für bestimmte IPs
Hey,
die IP ist einfach die IP des Servers. Wenn das Programm ebenfalls auf dem Server läuft, kannst du auch localhost oder 127.0.0.1 nutzen.
Zudem würde ich dir unbedingt raten, diesen Beitrag hier zu lesen, wenn du via Java mit Datenbanken kommunizieren möchtest (nicht davon abschrecken lassen, dass es sich in dem Beitrag um Minecraft Plugins handelt, der Beitrag ist generell für Java).
Mfg Jannick (L1nd)
Die IP des Servers ist gerade das was ich suche... vielleicht stehe ich auch auf dem Schlauch, aber wo finde ich die denn...?
Und danke für den Link, werde ich mir auf jeden fall durchlesen!
Die IP müsste bei deinem Hoster stehen, da wo du den Server auch mietest. Zudem hast du dich doch bestimmt schonmal über ssh oder (s)ftp mit dem Server verbunden oder nicht? Und wie gesagt, wenn das Programm sowieso auf dem gleichen Server läuft, kannst du auch localhost oder 127.0.0.1 nutzen.
Ist eben nicht auf dem selben server :) aber ich hab mittlerweile die richtige URL bekommen tatsächlich, jetzt frag ich mich welchen user und passwort die wollen, ich habe nie einen angelegt...
Eine URL würde ich nicht empfehlen, IP ist deutlich besser. Wenn du noch keinen Nutzer angelegt hast, musst du das eben noch machen xD
Das geht leider nicht :( so wie sich das anhört kann ich keinen User erstellen weil der externe Zugriff auf Datenbanken vom Webhoster selbst blockiert wird ... Ich habe nicht den reiter Rechte und kann auch über den SQL text keinen erstellen
Deshalb sollst du dich ja auch über ssh an dem server anmelden und einen nutzer erstellen
Also hab bei der Hotline angerufen, er meinte der Freumdzugriff auf die Datenbank ist erlaubt (da ich das ja auch so einstellen konnte), ich brauche auch keinen User zu erstellen weil ich die zugangsdaten mittlerweile in der wp-config.php datei gefunden habe und diese laut dem Herrn von allinkl auch die richtigen sind.
mein problem ist jetzt wohl eher das Java-Programm dass es nicht schafft. Kennst du dich da aus?
Ja ich kann den Zugriff auf localhost, überall und verschiedene IPs erlauben bei den Einstellungen der Datenbank