簡體   English   中英

Java數據庫mySQL訪問被拒絕

[英]Java Database mySQL access denied

所以我試圖連接到我的數據庫並顯示表中的項目。 我得到的錯誤是:SQL異常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:拒絕用戶'Bob'@'%'訪問數據庫'TEST'

這種連接是否正確,如果是,那么憑據是錯誤的錯誤? 如果他們錯了怎么連接? 謝謝

try 
     {  
        Class.forName("com.mysql.jdbc.Driver");        
        String url = "jdbc:mysql://THISISTHEHOSTNAME";
        String username = "Bob";
        String password = "password";
        Connection connection = DriverManager.getConnection(url, username, password);
         Statement stmt = null;
        ResultSet rs = null;
        //SQL query command
        String SQL = "SELECT * FROM TEST";
        stmt = connection.createStatement();
        rs = stmt.executeQuery(SQL);
        while (rs.next())
        {
            System.out.println(rs.getString("ProductName") + " : " + rs.getString("UnitPrice"));
        }
     } 
     catch (SQLException e) 
     {
        System.out.println("SQL Exception: "+ e.toString());
     } 
     catch (ClassNotFoundException cE) 
     {
        System.out.println("Class Not Found Exception: "+ cE.toString());
     }

您需要為連接到mysql db的用戶授予適當的權限。

您收到的消息是通知您,當您的用戶能夠連接到數據庫服務器時,不允許訪問數據庫TEST。

在mysql控制台中運行以下命令將授予此類訪問權限:

GRANT ALL ON TEST.* TO 'BOB'@'%'

這是非常寬容的,您應該記住,db用戶應該具有盡可能少的權限,並且限制在最小范圍的主機上。

我使用ShowIP Firefox添加並使用IP而沒有得到任何錯誤,但我想知道是否應該返回訪問權限,我現在無法找到答案。

這里有幾件事要做:

  1. 檢查您的用戶名和密碼是否正確。
  2. 您是否將用戶名添加到了正確的數據庫? (這需要在CPanel SQL中完成)
  3. 您是否允許數據庫從您的IP地址獲取連接訪問權限? (這也需要在CPanel SQL中完成)

在mysql中創建一個新用戶檢查所有全局權限>轉到netbeans中的服務>數據庫> localhost中的mysql服務器>右鍵單擊connect並填寫用戶名密碼

這項工作對我來說

請嘗試以下代碼:

import java.sql.*;
public class InsertPrepared {

   public static void main(String[] args)
   {
      try
      {
         Class.forName("com.mysql.jdbc.Driver");
         Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306//test","sanjib","");
         PreparedStatement stmt=con.prepareStatement("insert into employee values(???)");

         stmt.setInt(1,101);
         stmt.setString(2,"Sampa");

         int i=stmt.executeUpdate();
         System.out.println(i+"Records is inserted");
         con.close();
      }

      catch(Exception e)
      {
         System.out.println(e);
      }

   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM