Underlying cause: java.sql.SQLException : Access denied for user 'root'@'localhost' (using password: YES)
时间: 2023-12-05 08:41:20 浏览: 101
这个错误通常是由于MySQL连接失败引起的。错误消息中提到了两个问题:一个是“CommunicationsException”,另一个是“Access denied for user”。前者可能是由于网络问题或MySQL服务器崩溃引起的,而后者则表示连接尝试使用了错误的用户名或密码。
要解决这个问题,可以尝试以下几个步骤:
1. 检查MySQL服务器是否正在运行,并且您可以通过网络连接到它。
2. 确保您使用的用户名和密码是正确的,并且具有连接到MySQL服务器的权限。
3. 检查防火墙设置,确保MySQL服务器端口未被阻止。
4. 如果您使用的是JDBC驱动程序,请确保您使用的是最新版本,并且已正确配置连接字符串。
下面是一个Java代码示例,演示如何连接到MySQL数据库并执行查询:
```java
import java.sql.*;
public class MySQLExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "mypassword";
try {
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");
while (rs.next()) {
System.out.println(rs.getString("column1"));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
阅读全文