我为我们公司创建了一个应用程序。起初,我试图在我的MySQL-xampp数据库中创建没有密码,它工作正常。现在我的问题是我在我的数据库上放了一个密码,我的应用程序现在每次登录时都会抛出这个错误:
SQL java.sql.SQLException:拒绝用户访问 'root'@'CITSP-MOB7'(使用密码:是)
我在连接数据库时也遇到错误:
无法连接。无法建立连接 jdbc:mysql // localhost:3306 / mydb使用com.mysql.jdbc.Driver(Access 拒绝用户'root'@'CITSP-MOB7'(使用密码:是))。
这是我的数据库连接代码:
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();
有人可以帮我解决我的连接问题吗? 您的回答将不胜感激。提前致谢! :)
答案 0 :(得分:0)
如果适合您,请测试在mysql中创建新用户。
首先在mysql中创建一个新用户: 以root身份从mysql命令行登录。然后逐个运行以下命令。
<强>的MySQL 强>
创建用户&#39; mydbuser&#39; @&#39; localhost&#39;通过&#39; asdf&#39;;
在上授予所有特权。以及&#39; mydbuser&#39; @&#39; localhost&#39;
FLUSH PRIVILEGES;
将您的上述Java代码更改为以下内容: 我假设您的数据库名称是&#39; citsp&#39;
<强> 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);
}