运行环境:php + mysql +linux
描述:之前项目运行了几个月都没出现过这类问题,数据库配置也没改动,最近几天频繁数据库连接出错。
报错日志如下:
java.sql.SQLException: Access denied for user 'root'@'127.0.0.1' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3536)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3468)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:917)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3974)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1282)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2142)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:773)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at fuck.Pjtr.yA(Unknown Source)
at fuck.Pjtr.getConnection(Unknown Source)
at fuck.Pjtr.getConnection(Unknown Source)
at fuck.Qvum.process(Unknown Source)
at com.common.ui.util.BackgroundThread.run(Unknown Source)
目前解决方案,重启MYSQL 就可以正常访问
把127.0.0.1改为localhost试试
不行,我程序跑着没问题,突然间就出现拒绝连接的错误了
@David.Yun: 是不是达到了MySQL的最大连接数据限制
你可以登陆服务器的phpmyadmin中,看看用户root的主机是否有127.0.0.1