MySQL MySQL will einfach nicht, bitte um Rat

shahir

Mitglied
Hallo Leute,
es geht um folgende Sache:

Ich habe MySQL & Connector J installiert, danach über MySQL-Command Line Client folgende Befehle eingegeben:

- CREATE DATABASE haus (name CHAR( 10)) ;
- CREATE USER peter IDENTIFIED BY 'geheim';
- GRANT ALL ON haus.* to peter ;


Danach Eclipse gestartet, neues Projekt angelegt & im Classpath die mysql-connector-java-5.1.34-bin.jar gesetzt. Hier der Inhalt meiner Klasse :

Java:
public static void main(String[] args) {

try { 
//Verbindung zur Datenbank
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/3306/haus","peter","geheim"); 

//SQL-Befehle schicken
Statement stmnt = con.createStatement();

System.out.println(stmnt.execute("CREATE TABLE hallo (t CHAR(10);"));

stmnt.close();
con.close();

} //catch (ClassNotFoundException e) {e.printStackTrace();} 
catch (SQLException e) {e.printStackTrace();}

}

Mein Problem ist, ich flieg ständig mit ner Exception raus :
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'peter'@'localhost' to database '3306/haus'

Wenn ich mich als root anmelde : "jdbc:mysql://localhost/3306/haus","root","proot"
Bekomme ich die Meldung: unknown database '3306/haus'

Was könnte ich falsch gemacht haben ??
 
Zuletzt bearbeitet von einem Moderator:
- CREATE DATABASE haus (name CHAR( 10)) ;

Was war denn hier die Ausgabe auf der Konsole? Warum "(name CHAR( 10))"? Für mich schaut das nach einer falschen Syntax womit natürlich keine Datenbank erstellt werden konnte.
Siehe MySQL Dokumentation: MySQL :: MySQL 5.6 Reference Manual :: 13.1.10 CREATE DATABASE Syntax
Entsprechend kannst du dann auch dem User "peter" dann keine Rechte für die nicht existierende Datenbank geben.

Du solltest dir auch nochmal das CREATE TABLE Statement im Code anschauen, fehlt dir nicht eine Klammer?
 
Zuletzt bearbeitet:
1.Sorry , erste Zeile war Schreibfehler. So hatte ich es im Command Line Client angegeben:

-CREATE DATABASE haus; Ausgabe-> Query OK, 1 row affected(0.09 sec)
dann:
-GRANT ALL ON haus.* to peter ;


2. Hast recht: System.out.println(stmnt.execute("CREATE TABLE hallo (t CHAR(10));"));

Aber das Problem ist immernoch das Gleiche -> Access denied for user 'peter'@'localhost' to database '3306/haus'

Wenn ich mich als Root( "jdbc:mysql://localhost/3306/haus","root","proot") anmelde, bekomme ich anscheinend den Access, aber:
-> Unknown database '3306/haus'
 
Zuletzt bearbeitet:

Zurück
Oben