java - 线程“main”java.sql.SQLException 中的异常:用户 ''@'localhost' 的访问被拒绝(使用密码:否)
问题描述
Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.mysql.cj.jdbc.admin.TimezoneDump.main(TimezoneDump.java:70)
无论我做什么,我都会收到此错误。我使用 MySQL Workbench,我已经更改了 root 用户的密码,我已经授予用户 root 的所有权限,我尝试断开连接并再次连接到数据库。没什么,不管我做什么。你能帮我解决这个问题吗?我不知道还能做什么。密码和用户名都正确。
Java代码:
package Restaurant;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MainApp {
public void main(String[] args) throws SQLException
{
String url="jdbc:mysql://localhost:3306/new_schema";
Statement sql;
ResultSet rs;
Connection con=DriverManager.getConnection(url, "root", "root");
sql=(Statement)con.createStatement();
rs=sql.executeQuery("select * from restaurant");
while(rs.next())
{
System.out.println("Nume: "+rs.getString("nume")+", Specific: "+rs.getString("specificul")+", Zona: "+rs.getString("zona"));
}
rs.close();
sql.close();
con.close();
}
}
解决方案
您的 Eclipse 正在运行“com.mysql.cj.jdbc.admin.TimezoneDump”类(其中还包含一个 main 方法)而不是您的 MainApp 类。
试试这个操作:
Right click on MainApp.java -> Run As -> Java Application
推荐阅读
- flutter - Flutter 等待 Provider 准备好在 multiprovider 中
- javascript - 在 Vuetify 自动完成搜索中通过 API 进行搜索非常慢
- intellij-idea - IntelliJ 的断点在“没有在行中找到可执行代码”的情况下快速进出
- linux - 常规可变大小 (kBit) 限制
- android - 不了解 IntentFilter
- asp.net-core - 签署令牌如何工作?(无效签名错误)
- php - 我想从两个表中显示或获取数据
- vb.net - 填充 ComboBox 问题
- asp.net - 我正在使用 ASP.NET MVC4,我想用单个提交按钮提交我的两个表单,我还想使用表单集合获取数据
- android - 如何从通知启动活动到前台?