【问题标题】:Netbeans and mysql communicationNetbeans 和 mysql 通信
【发布时间】:2015-06-29 12:18:41
【问题描述】:

我为我们公司创建了一个应用程序。起初,我尝试在 MySQL-xampp 中的数据库上创建无密码,它工作正常。现在我的问题是我在我的数据库上输入了密码,而我的应用程序现在每次登录时都会向我抛出这个错误:

SQL java.sql.SQLException: 拒绝用户访问 'root'@'CITSP-MOB7'(使用密码:YES)

我在连接数据库时也遇到错误:

无法连接。无法建立连接到 jdbc:mysql//localhost:3306/mydb 使用 com.mysql.jdbc.Driver (访问 拒绝用户'root'@'CITSP-MOB7'(使用密码:YES))。

这是我的数据库连接代码:

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://192.168.1.112:3306/citsp";
static final String USER = "root";
static final String PASS = "mypassword";

try{
   Class.forName("com.mysql.jdbc.Driver");
  }catch(ClassNotFoundException ex){
            }
  //STEP 3: Open a connection
  System.out.println("Connecting to database...");
  conn = DriverManager.getConnection(DB_URL,USER,PASS);

  //STEP 4: Execute a query
  System.out.println("Creating statement...");
  stmt = conn.createStatement();

有人可以帮我解决连接问题吗? 您的回答将不胜感激。提前致谢! :)

【问题讨论】:

  • 您在数据库中设置了密码,并让您的应用程序知道它应该在访问之前知道密码。请发布您的 java 代码 [仅连接到 mysql 部分]
  • 首先,您应该设置一个单独的用户而不是root。
  • 嗨@Subrata Dey,这是我的代码:static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";静态最终字符串 DB_URL = "jdbc:mysql://localhost:3306/citsp";静态最终字符串用户=“根”; static final String PASS = "mypassword";
  • 对不起,我是新手。我不知道如何输入(换行符),每当我按回车时,它都会提交我的评论。
  • 嗨@AdamB,你的意思是我必须创建一个新用户吗?真的有必要吗?请解释。谢谢

标签: java mysql netbeans connection sqlexception


【解决方案1】:

如果这对你有用,请测试在 mysql 中创建一个新用户。

首先在mysql中新建一个用户: 以 root 身份从 mysql 命令行登录。然后一一运行以下命令。

MySQL

  1. 创建用户 'mydbuser'@'localhost' 由 'asdf' 识别;

  2. 将所有权限授予 . 到 'mydbuser'@'localhost' ;

  3. 刷新特权;

将上面的 java 代码更改为以下内容: 我假设您的数据库名称是 'citsp'

JAVA

        String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        String DB_URL = "jdbc:mysql://localhost/citsp";
        String USER = "mydbuser";
        String PASS = "asdf";

        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException ex) {
            //JOptionPane.showMessageDialog(null, "There's an error connecting with the database. Please contact your administrator.");
        }
        //STEP 3: Open a connection
        System.out.println("Connecting to database...");
        java.sql.Connection conn = null;
        try {
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
        } catch (SQLException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            ex.printStackTrace();
        }

        //STEP 4: Execute a query
        System.out.println("Creating statement...");
        try {
            Statement stmt = conn.createStatement();
            String query = "";
            ResultSet rs = stmt.executeQuery(query);
            while(rs.next()){
                // Iterate through the result
            }
        } catch (SQLException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }

【讨论】:

  • 它仍然没有解决我的问题。但真的很感谢你的帮助。
  • @nhix,您是否能够按照给定的命令在 mysql 中创建新用户?您现在收到什么错误消息?
  • 是的,我已经能够使用您给出的命令创建一个新用户。同样的错误,root 刚刚更改为 mydbuser。 :(
  • @nhix,我已经让它在我身边工作了。您是否也授予并刷新了特权?您是否在 java 部分进行了所有必要的更改?
  • 是的!非常感谢! :)
猜你喜欢
  • 2012-06-23
  • 2012-12-02
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多