Java 拒绝用户访问';根'@';本地主机';(使用密码:YES):PhpMyAdmin
鉴于此代码:Java 拒绝用户访问';根'@';本地主机';(使用密码:YES):PhpMyAdmin,java,mysql,jdbc,privileges,Java,Mysql,Jdbc,Privileges,鉴于此代码: package db; import java.sql.*; public class Main { public static void main (String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); String string = "jdbc:mysql://localhos
package db;
import java.sql.*;
public class Main
{
public static void main (String[] args) throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");
String string = "jdbc:mysql://localhost:3306/testdb";
Connection con = DriverManager.getConnection(string , "root" , "root");
PreparedStatement statement = con.prepareStatement("select * from name");
ResultSet result = statement.executeQuery();
while (result.next())
{
System.out.println(result.getString(1) + " " + result.getString(2));
}
}
}
我正在尝试连接mysql服务器,但我发现:
Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at db.Main.main(Main.java:14)
线程“main”java.sql.SQLException中的异常:拒绝用户“root”@“localhost”的访问(使用密码:是)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:4074)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:4006)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)上
在com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)上
位于com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
位于com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:813)
位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:47)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于db.Main.Main(Main.java:14)
第14行是:Connection con=DriverManager.getConnection(string,“root”,“root”)代码>
我确信当我安装MySql时,我输入了密码root
。只是为了确保,
我进入这里:
并将密码更改为root
,如下所示:,但仍然无法获得任何正确的输出
知道有什么问题吗
谢谢
备注:
说清楚点,我用的是:
面向Web开发人员的EclipseJavaEEIDE
雄猫7
Xampp
您的问题与phpMyAdmin无关。它只是一个接口
除此之外,我认为您应该删除password=“NO”的行
线程“main”java.sql.SQLException中出现异常:对的访问被拒绝
用户“root”@“localhost”(使用密码:YES)
当用户没有访问本地主机的权限时,会出现此错误
您需要从localhost授予root用户访问权限
正如你补充的那样。我怀疑问题出在password='NO'
设置为mySQL
的行上。使用您的用户名和密码执行以下命令:
grant usage on *`.`* to `devuser@localhost` identified by '`devpassword`';
grant all privileges on `dev.` to `devuser@localhost`;
你确定吗?因为上次我这么做时,我帐户的权限被撤销了。在我们的服务器上,root有4行。所有密码均为“是”。包括localhost和127.0.0.1。您还可以删除“任意”行。你的代码应该在同一台机器上运行,或者在隧道机器上运行????我的答案是正确的,并且与选择的答案相同。我是第一个回答的人。但我却投了反对票?!!??!您能够打开phpMyAdmin并在那里运行查询吗?似乎连接没有打开。@imrantariq:现在我被锁定在phpMyAdmin
之外。我按照建议删除了这些行,但这并不能阻止我访问MySQL说:#1045-拒绝用户'root'@'localhost'的访问(使用密码:否)
这意味着您无法打开phpMyAdmin。是吗?@imrantariq:是的,但现在我删除了所有内容,重新安装了mysql
&xampp
&tomcat7
,我又回来了。但是,我仍然从mysql获得了相同的输出,关于java
&jdbc
replace star.star的连接没有正确显示。因此,请在“授权使用”之后立即使用star.star,而不仅仅是点