java - 尽管我提供了正确的登录信息,但是我仍然提供root的访问权限

  显示原文与译文双语对照的内容
119 4

我一直在想:

线程"awt-eventqueue-0"局部异常堆栈中的异常:异常 [TOPLINK-4002] ( Oracle TopLink Essentials - 2.0.1 ( 生成 b09d-fcs ( 12/06/2007 ) ) )oracle.toplink.essentials.exceptions.DatabaseException 内部异常:java.sql. sql Exception:用户'root'@'localhost'的访问拒绝( 使用密码:是)

但是我的项目代码连接信息和MySQL数据库有相同的信息- 因此我是suppliying正确的登录信息。为什么它总是说我的密码错了。我在本地主机,我的用户名是 root,没有密码。

下面是我使用的项目变量的代码:

static final String host ="jdbc:mysql://localhost:3306/myDb";
 static final String uName ="root";
 static final String uPass ="";
 static final String query ="SELECT * FROM customers";
...
 Connection con = DriverManager.getConnection( host, uName, uPass );
时间:原作者:0个回答

102 5

是否为localhost设置了 root 密码?已经有一段时间了,但是localhost不总是与 127.0.0.1 相同,root的密码可能没有localhost作为默认的关联主机。

原作者:
67 1

可能你没有访问本地主机时访问数据库的权限。

尝试使用外部工具( 如 命令行 工具) 在网络层上连接数据库。

原作者:
134 2

从你的评论中我可以看到,当你连接到 localhost ( mysql客户端在提供localhost时的默认行为) 时,你正在从套接字连接。

请尝试以下操作:

CREATE USER 'root'@'localhost IDENTIFIED BY"";
GRANT ALL PRIVILEGES to 'root'@'localhost';
FLUSH PRIVILEGES;

告诉我们你现在是否能连接。记住,你拥有一个具有空密码和所有特权的root 帐户。

原作者:
...