2010-02-24 19 views
0

J'essaye d'accéder à distance au serveur mySQL. C'est le code que j'ai utilisé.Erreur dans l'accès mySQL distant

Connection conn = null; 
    try 
    { 
     String url = "jdbc:mysql://172.18.227.237:3306/struts2"; 
     Class.forName ("com.mysql.jdbc.Driver"); 
     conn = DriverManager.getConnection (url,"root","admin"); 
     System.out.println ("Database connection established"); 
    } 

Mais je reçois l'erreur suivante:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied for user 'root'@'172.20.169.174' to database 'struts2' 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910) 
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923) 
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273) 
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031) 
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718) 
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298) 
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at com.Connect.main(Connect.java:17) 

J'ai reçu l'autorisation d'accès à mon IP, mais pourtant j'obtiens l'erreur.

+0

Connectez-vous en tant que root sur la ligne de commande et faites: SELECT user, host FROM mysql.user où user = 'root' –

Répondre

1

Avez-vous vidé les privilèges après avoir accordé l'accès à la racine à cette adresse IP? Les privilèges ne fonctionneront pas tant qu'ils n'auront pas été chargés par le moteur MySQL, vous devrez donc exécuter une commande 'FLUSH PRIVILEGES'.

+0

Ce n'est pas nécessaire si vous avez utilisé les commandes 'CREATE USER' et' GRANT' - vous avez besoin seulement si vous pirater directement dans les tables de subvention, que je ne recommanderais pas –