Hallo zusammen,
Ich habe eine Frage bezüglich des Verbindungsaufbaus des JDBC/Connectors mit dem mySQL-Server.
Zunächst mal ein paar Sachen vorweg:
1. mein mysql läuft unter Linux
2. unter mysql Benutzer mit allen Rechten und passwort anglegt (nenne ihn mal xxx und das passwort yyy).
3. Tabelle erstellt mit eben diesem Benutzer und Passwort
4. mein Eclipse läuft unter Windows. Die Verbindung zwischen den Systemen klappt. Ich kann also von Windows aus auf den MySQL-Server zugreifen und Datenbanken, Tabellen erstellen usw.
Die Verbindung baue ich folgender Maßen auf:
Bitte des Code nicht kommentieren, ist nur ein TestCode :lol:
Das komische an der Sache ist, dass ich für die Verdindung kein Passwort benötige bzw. es nicht eingeben darf. Wenn ich also
implementiere, klappt die Verbindung nicht. In der Console steht dann:
Probiere ich unter Linux über die Konsole ohne Passwort zuzugreifen mit
,dann bekomme ich die Fehlermeldung, dass kein Zugriff erlaubt ist.
Die host-freigabe habe ich folgendermaßen gelöst:
GRANT ALL ON *.* TO 'XXX'@'hostnameDesWindowsRechners';
GRANT SELECT, INSERT ON *.* TO 'XXX'@'hostnameDesWindowsRechners';
Eigentlich bin ich ja schon froh, dass die Verbindung überhaupt klappt, aber würde gerne wissen, warum ich bei dem Aufbau der Verbindung kein Passwort angeben darf.
Danke im Voraus für die Hilfe
grüße
thomas
Ich habe eine Frage bezüglich des Verbindungsaufbaus des JDBC/Connectors mit dem mySQL-Server.
Zunächst mal ein paar Sachen vorweg:
1. mein mysql läuft unter Linux
2. unter mysql Benutzer mit allen Rechten und passwort anglegt (nenne ihn mal xxx und das passwort yyy).
3. Tabelle erstellt mit eben diesem Benutzer und Passwort
4. mein Eclipse läuft unter Windows. Die Verbindung zwischen den Systemen klappt. Ich kann also von Windows aus auf den MySQL-Server zugreifen und Datenbanken, Tabellen erstellen usw.
Die Verbindung baue ich folgender Maßen auf:
Code:
String createDB = "CREATE DATABASE ServiceOrchestratorDB";
String create = "CREATE TABLE testTable (name VARCHAR(20), vorname VARCHAR(20));";
public void doIt(String db_url) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection my_con = DriverManager.getConnection(db_url, "XXX","");
Statement st = my_con.createStatement();
st.execute(createDB);
my_con.close();
}
public static void main( String [] args) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException{
String db_url= "jdbc:mysql://IP-des-Linux-Rechners:3306/";
jdbcTest t = new jdbcTest();
t.doIt(db_url);
}
Das komische an der Sache ist, dass ich für die Verdindung kein Passwort benötige bzw. es nicht eingeben darf. Wenn ich also
Code:
Connection my_con = DriverManager.getConnection(db_url, "XXX","YYY");
Code:
Access denied for user 'XXX'@''hostnameDesWindowsRechners' (using password: YES)
Probiere ich unter Linux über die Konsole ohne Passwort zuzugreifen mit
Code:
mysql -uXXX
Die host-freigabe habe ich folgendermaßen gelöst:
GRANT ALL ON *.* TO 'XXX'@'hostnameDesWindowsRechners';
GRANT SELECT, INSERT ON *.* TO 'XXX'@'hostnameDesWindowsRechners';
Eigentlich bin ich ja schon froh, dass die Verbindung überhaupt klappt, aber würde gerne wissen, warum ich bei dem Aufbau der Verbindung kein Passwort angeben darf.
Danke im Voraus für die Hilfe
grüße
thomas