2016-04-24 1 views
0

Je tente de définir "ALL PRIVILEGES" à partir de Java sur la base de données MySQL distante test et l'utilisateur test. Voici un extrait de mon code:Obtenir une erreur dans executeUpdate Java MySQL

Class.forName("com.mysql.jdbc.Driver"); 
Connection con = null; 
con = (Connection) DriverManager.getConnection("jdbc:mysql://xx.xxx.xxx.xx:3306/?user=root&password=pswrd"); 

Statement st = con.createStatement(); 
int res = st.executeUpdate("GRANT ALL PRIVILEGES ON test.* TO 'test'@'%' IDENTIFIED BY '12345';"); 

Rien d'extraordinaire. Toutes les requêtes de fin de travail de l'utilisateur root, mais dans ce cas partucular Je reçois l'erreur:

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'root'@'%' to database 'test' 

Qu'est-ce que je fait de mal?

MISE À JOUR

est ici answer. Donc, le problème n'a pas été résolu ...

+0

Comment se fait le nom d'utilisateur lit 'root' @' %'? – randominstanceOfLivingThing

+0

Veuillez inclure la pile de l'exception. –

Répondre

0

Essayez établir une connexion avec

DriverManager.getConnection("jdbc:mysql://hostname:port/dbname","username", "password"); 
0

S'il vous plaît assurez-vous que « root @ yourhost » (en particulier de yourhost) INDENTIFIED par « Pswrd » a le droit de gérer les privilèges sur cette base de données.

0

essayer d'ajouter l'hôte comme ce 'test' @ 'yourhost '

+0

Une petite explication améliorerait la qualité de votre réponse. – m02ph3u5