在mysql中拒绝用户访问

时间:2014-05-24 07:15:44

标签: java mysql jdbc access-denied

在将我的JAVA程序连接到mysql上的数据库时,我已按照所有必要步骤操作。 我的代码片段如下:

 final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
 final String DB_URL = "jdbc:mysql://localhost/electionDatabase/";
 final String User ="electionUser";
 final String Password="election";
 Class.forName(JDBC_DRIVER);
 conn = DriverManager.getConnection(DB_URL,"electionUser", Password);

 String sql = "select stateId from stateWiseSeats";

但我仍然收到错误说:

 Access denied for user 'electionUser'@'localhost' to database 'electionDatabase/'

我已经在mysql命令行上重新检查了我的用户名和密码,并且我还授予用户为指定数据库添加的所有权限。我仍然得到错误。为什么呢?

2 个答案:

答案 0 :(得分:2)

正如错误消息中所述:

'electionDatabase/' 
根据提供的URL,

被视为数据库名称,因此它尝试访问不存在的数据库并抛出此错误。

尝试删除URL末尾的斜杠并执行。

答案 1 :(得分:0)

Class.forName("com.mysql.jdbc.Driver");
  // setup the connection with the DB.
  connect = DriverManager
      .getConnection("jdbc:mysql://localhost/electionDatabase?"
          + "user=electionUser&password=election");

这应该可以解决您的问题。 DB_URL末尾的尾随斜杠可能导致问题。