linux-mysql Access denied for user 'root'@'localhost'

在Linux系统中,使用java登录mysql的时候出现Access denied for user 'root'@'localhost'的异常。但是在命令行中使用mysql -u root -p 命令可以正常登录使用。

异常信息如下:

Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost'
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1710)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)


在网上找了很多相关的说明,都是说的 使用命令行登录的时候 预见的这个问题如何解决,与我的这个情况不太一样。


经过一番摸索与思考,最终发现问题所在,原因是自己在安装mysql的时候,中间会弹出输入root账号密码的对话框,而自己直接点击确认,并没有输入任何密码信息所致。


就是下面这两个界面,这两个界面,必须输入密码,要不然就会出现上面的问题。这个问题见网上尚未有人说明,我这边发个帖子记录一下!

linux-mysql Access denied for user 'root'@'localhost'


linux-mysql Access denied for user 'root'@'localhost'