Verknüpfung von mySQL Datenbank (phpMyadmin) auf Webserver mit Java Programm?

5 Antworten

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.

Nuehm154 
Fragesteller
 31.05.2021, 22:29

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...?

0
DreiGegengifts  31.05.2021, 22:32
@Nuehm154

Ich weiß nicht was du genau meinst. Wo das Programm phpMyAdmin läuft, muss nicht auch die Datenbank laufen.

0
Nuehm154 
Fragesteller
 31.05.2021, 22:42
@DreiGegengifts

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...

0
DreiGegengifts  31.05.2021, 22:44
@Nuehm154

Kannst du einfach nachschauen in phpMyAdmin. Da wo man die Benutzer mit ihren Rechten einstellt.

0
Nuehm154 
Fragesteller
 31.05.2021, 22:47
@DreiGegengifts

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?

0

Lässt der Hoster denn eine Verbindung auf die MySQL DB von extern zu?

Viele Hoster verbieten es und erlauben nur Verbindungen von Intern.

Woher ich das weiß:Berufserfahrung – Freiberuflicher Java Entwickler mit 10 Jahren Erfahrung
Nuehm154 
Fragesteller
 31.05.2021, 22:27

Ja ich kann den Zugriff auf localhost, überall und verschiedene IPs erlauben bei den Einstellungen der Datenbank

0
Xearox  31.05.2021, 22:29
@Nuehm154

Okay, dann nimmst du einfach die IP/Domain des Servers, mit dem du dich via phpMyAdmin verbindest.

0
Nuehm154 
Fragesteller
 31.05.2021, 22:36
@Xearox

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

0
Kiboman  31.05.2021, 22:37
@Nuehm154

nein es gibt eine einstellung in der mysql.ini an der kommst du nicht vorbei sie nennt sich skip-networking.

wenn die gesetzt ist kommt du nur von Localhost aus drauf.

kannst du ein externes tool von deinem rechner wie Navicat oder Mysql workbench verbinden?

2
Xearox  31.05.2021, 22:37
@Nuehm154

Den Benutzer, mit dem du dich in phpMyAdmin einloggst.

1
Xearox  31.05.2021, 22:38
@Kiboman

Daumen hoch für MySQL Workbench. Bei weitem besser als phpMyAdmin!

2
Kiboman  31.05.2021, 22:39
@Xearox

Navicat gefällt mir besser für die meisten sachen.

Die Workbench ist oft brutal überdimensioniert

1
Nuehm154 
Fragesteller
 31.05.2021, 22:40
@Xearox

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

0
Kiboman  31.05.2021, 22:43
@Nuehm154

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.

0
Xearox  31.05.2021, 22:43
@Nuehm154

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.

0
Nuehm154 
Fragesteller
 31.05.2021, 22:50
@Xearox

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?

0
Nuehm154 
Fragesteller
 31.05.2021, 22:51
@Xearox

sieht wohl irgendwie so aus, aber dann frag ich mich weshalb ich es erlauben kann in den Datenbankeinstellungen

0
Xearox  31.05.2021, 22:56
@Nuehm154

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.

0
Nuehm154 
Fragesteller
 31.05.2021, 22:59
@Xearox

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?

0
Nuehm154 
Fragesteller
 31.05.2021, 23:00
@Kiboman

ich kann keinen user anlegen, und ich kann auch keine Rechte vergeben :( wie komm ich denn in die mySQL.ini von der du oben geschrieben hast?

0
Xearox  31.05.2021, 23:01
@Nuehm154

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.

0
Nuehm154 
Fragesteller
 31.05.2021, 23:03
@Xearox

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

0

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)

Woher ich das weiß:eigene Erfahrung
Nuehm154 
Fragesteller
 31.05.2021, 22:25

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!

1
JanMarcel01  31.05.2021, 22:28
@Nuehm154

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.

0
Nuehm154 
Fragesteller
 31.05.2021, 22:35
@JanMarcel01

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...

1
JanMarcel01  31.05.2021, 22:36
@Nuehm154

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

0
Nuehm154 
Fragesteller
 31.05.2021, 22:56
@JanMarcel01

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

1
JanMarcel01  01.06.2021, 09:17
@Nuehm154

Deshalb sollst du dich ja auch über ssh an dem server anmelden und einen nutzer erstellen

0
Nuehm154 
Fragesteller
 01.06.2021, 17:41
@JanMarcel01

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?

1

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)

Woher ich das weiß:Berufserfahrung – arbeite seit vielen Jahren in der IT
Nuehm154 
Fragesteller
 31.05.2021, 22:29

Danke, die Verbindung kann ich zulassen bei den Einstellungen, für localhost, für alle und für bestimmte IPs

1

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

Nuehm154 
Fragesteller
 31.05.2021, 22:34

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...

0