# Wie ist URL zu meiner MySQL Datenbank? Name?Pwd?



## roger (4. Mrz 2006)

Hallo!
Ich hab mich echt schon durch eine Menge Seiten im Forum und Tutorials gecklickt, jedoch nicht die Lösung für mein Problem gefunden.


Ich will mich mit einem Java-Programm mit meiner MySQL-DB verbinden.

Dazu habe ich:

MySQL installiert:
Ich konnte dabei nur ein ROOTpasswort eingeben. (Keinen Benutzername oder sowas)
Die DB funkt. Über die Konsole kann ich mich nach Eingabe des ROOTpasswortes mit der DB verbinden und eine neue DB sowie Tables und Daten anlegen.

Für die Javaanbindung habe ich:
com.mysql.jdbc.Driver installiert und im Classpath gesetzt.

In meiner Anwendung wird der Driver auch gefunden.

Meine Frage ist nun:
WIE IST DIE URL ZU MEINER DB?????


```
DriverManager.getConnection("jdbc:mysql://localhost:3306/test","user","passwort");
```

Was soll den bitte mein Username sein?
Ich hab doch nie was bei MySQl angegeben, bzw angeben können.
Was ist das Passwort?->Das Rootpasswort, dass ich bei der Installation von MySQL angegeben hab?

Was ist localhost:3306/test
Bedeutet dies, dass auf meiner Maschine (localhost) auf Port 3306 Mein SQL Server wartet?
Ist /test, dann der Name meiner Datenbank, die ich zuvor anlegen muss?

Ich kann eingeben was ich will es kommen immer Fehlermeldungen wie:
java.sql.SQLException: Access denied for user 'bspname'@'localhost' (using password: YES)


Ich denke, dass ich grad den Wald vor lauter Bäumen nicht sehen kann..
Vielleicht kann mir ja jemand einen Hint geben.
Vielen Dank


----------



## roger (4. Mrz 2006)

OK Ich habs jetzt geschafft.

MAN MUSS einen USER in der MySQL Konsole anlegen und dem gewisse Rechte geben.

Dies funktioniert  z.Bsp so:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

Hier werden dem User monty mit dem pwd some_pass alle Rechte übertragen, sofern er sich auf der selben Maschnine wie der SQL Server befindet.

Nachdem man nun z.B eine DB angelegt hat:
create database testdatabase;

sieht die VerbindungsURL in Java nun so aus:

```
dbVerbindung = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdatabase","monty","some_pass");
```

Man verbindet sich also auf der lokalen Maschine (localHost) mit dem SQL-Server, der an Port 3306 wartet.
mit der DB testdatabase. Weiters gibt man Username und Pwd an.

Anmerkung: Diese Verbindung funkt nur, wenn das Java PRog auf der selben Maschnine wie der SQL Server ist.


mfg
roger


----------



## Caffè Latte (4. Mrz 2006)

Hi,

wenn der Datenbankserver auf einer anderen Maschine läuft trägst du eben deren Namen statt "localhost" ein oder nimmst die IP-Adresse. Auch wenn du noch keinen Benutzer selbst angelegt hast gibt es schon einen, nämlich "root". Allerdings ist der der Admin des RDBMS und sollte auch nur für administrative Ausgaben genutzt werden. Den Port brauchst du nur angeben, wenn du vom Standard abweichst. 

So mal zur Info am Rande.

Viel Spass noch damit,

Caffè latte


----------

