2015-09-07 38 views
-1

我在尝试连接到远程数据库时遇到了这些异常,而且我没有得到确切的原因。我很困惑它是一个权限问题还是一些网络问题,或c3po连接池问题。你能建议从哪里开始解决这些例外情况吗?为什么我会收到这些例外情况?

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 
    at sun.reflect.GeneratedConstructorAccessor27.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.Util.getInstance(Util.java:386) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2238) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2159) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.GeneratedConstructorAccessor11.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:381) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134) 
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182) 
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:152) 
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1074) 
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1061) 
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32) 
    at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1796) 
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:620) 
Caused by: java.sql.SQLException: Access denied for user 'su01'@'10.15.9.137' (using password: YES) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:935) 
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4101) 
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1300) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2337) 
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2177) 
    ... 18 more 
2015-09-07 16:47:31,990 [C3P0PooledConnectionPoolManager-Helper Thread-#0] WARN [v2.resourcepool.BasicResourcePool] - Having failed to acquire a resource, [email protected] is interrupting all Threads waiting on a resource to check out. Will try again in response to new client requests. 
2015-09-07 16:47:37,998 [C3P0PooledConnectionPoolManager-Helper Thread-#0] WARN [v2.resourcepool.BasicResourcePool] - com[email protected]17a3d13 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 
    at sun.reflect.GeneratedConstructorAccessor27.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.Util.getInstance(Util.java:386) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2238) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2159) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.GeneratedConstructorAccessor11.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:381) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134) 
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182) 
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:152) 
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1074) 
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1061) 
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32) 
    at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1796) 
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:620) 
Caused by: java.sql.SQLException: Access denied for user (using password: YES) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:935) 
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4101) 
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1300) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2337) 
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2177) 
    ... 18 more 
+1

'用户拒绝访问'su01'@'10.15.9.137'' –

+0

'用户拒绝访问'su01'@'10.15.9.137'(使用密码:YES)'你想要什么样的解释? –

+0

我想要更多的解释,因为我能够使用sqlyog .....使用相同的凭据连接相同的数据库.....为什么它不通过代码连接? – JavaStack

回答

0

显然你的数据库用户名/密码是无效的。

Access denied for user 'su01'@'10.15.9.137' (using password: YES) 
+0

对不起但我交叉检查了几次,我可以使用相同的凭据使用sqlyog连接到数据库。 – JavaStack

+0

也许代码是从你配置的地方以外的地方挑选证书。 – Amila

+0

代码正在从配置文件中选择凭据。 – JavaStack

0

我记得前段时间有这样的问题,您确定您在数据库中正确创建了用户吗?

当我遇到这个问题时,访问被授予'user'@'localhost'而不是'user'@'%',所以它在创建问题的同时尝试访问数据库而不是MySQL Workbench 。

+1

检查访问为用户在sqlyog中显示像这样:-GRANT ALL PRIVILEGES ON *。 * TO'su01'@'%'IDENTiFIED BY PASSWORD'*。*' – JavaStack

+0

如果您授予'yourdb'。*以便授予所有表格? –

相关问题