mercoledì 6 febbraio 2008

Errore di connessione a MySQL

Se da Java eseguite una connessione a MySQL come la seguente


c=DriverManager.getConnection(" jdbc:mysql://192.168.1.2:3306/test","root", "password" );

e come risultato avete il seguente errore

java.sql.SQLException: null, message from server: "Host '192.168.1.4 is not allowed to connect to this MySQL server"

allora dovrete andare nella console locale di MySQL e fare così:

CREATE USER lux IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lux;

adesso cambiate l'istruzione in questo modo:
c=DriverManager.getConnection( "jdbc:mysql://192.168.1.2:3306/test","lux", "password" );

Abilitate la porta TCP 3306 dal Firewall dove risiede il server MySQL e il gioco è fatto.
L'errore java.sql.SQLException è dovuto al fatto che volete accedere a root da un IP che non è localhost!!! L'accesso da root è meglio farlo solo da locale; da remoto potete abilitare tutti gli users che volete e dare i privilegi che volete (GRANT).

Nessun commento: