问题描述
我试图在服务器上部署Web应用程序,但出现此mysql数据库异常
Access denied for user 'root'@'localhost' (using password: YES) (Mysql::Error)
我尝试使用mysql -u root -p
从命令提示符访问数据库,我能够执行所有数据库操作。
有什么错误
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3649)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1176)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2558)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at com.mpigeon.DbConnection.DbConn(DbConnection.java:26)
at com.mpigeon.CheckLoginHome.doGet(CheckLoginHome.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
最佳方法
您需要授予从本地主机对root的访问权限。查看this Ubuntu帮助
次佳方法
尝试使用root
之类的。
mysql -uroot
然后您可以使用登录后检查其他用户和主机
select user,host,password from mysql.user;
第三种方法
检查您是否在密码中放置空格。