【问题标题】:MySQL jdbc driver [closed]MySQL jdbc驱动程序[关闭]
【发布时间】:2013-02-16 22:20:15
【问题描述】:

我有一个让我发疯的问题,我真的不习惯使用 mySQL 数据库,我真的需要一些帮助。我想连接到我的 MySQL 数据库以运行查询,并最终能够将数据加载到数据库中并测量加载、查询等所消耗的时间,这样我就可以比较不同类型数据库的性能。 我认为我让 forName 工作,但现在它抱怨 dbUrl。 有人可以向我解释我做错了什么吗?

提前致谢!

import java.sql.*;
import java.util.Properties;

import javax.sql.*;


public class jdbcdemo{

public static void main(String args[]){
String dbtime;
String dbUrl = "jdbc:mysql://localhost:3306/Meeting";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM customer";

Properties properties = new Properties();
properties.put("user", "student");
properties.put("password", "ingan86");

try {

Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection (dbUrl,properties);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
} 

con.close();
} 
catch(SQLException e) {
e.printStackTrace();
}

catch(Exception e) {
e.printStackTrace();
}


}  

} 

堆栈跟踪:

java.sql.SQLException: Access denied for user 'student'@'localhost' (using password:   YES)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:798)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3700)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1203)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2572)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at jdbcdemo.main(jdbcdemo.java:22) 

【问题讨论】:

  • 您可以使用该登录名/密码组合从命令行连接吗?
  • 尝试明确添加student@localhost 用户并授予其权限,如@Reimus 的回答。
  • exact 错误信息是什么?
  • “抱怨 dbUrl”并没有告诉我们任何事情。在不知道实际问题是什么(例如错误消息或堆栈跟踪)的情况下,任何人都只能猜测。

标签: java mysql jdbc


【解决方案1】:

确保用户student 有足够的权限使用您的数据库:

GRANT ALL PRIVILEGES
ON Meeting.*
TO student@localhost
IDENTIFIED BY 'ingan86';

【讨论】:

  • 非常感谢您的所有回答!我想通了,我只是将用户从“学生”更改为“root”:)
【解决方案2】:

这可能有点远,但我遇到过一次。检查您的主机文件。查看 127.0.01 是否映射到 localhost。

查找 - http://en.wikipedia.org/wiki/Hosts_(file)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-10
    • 2016-03-27
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多