Reputation: 12436
I've just created a new Virtual Machine, which was initially completely clean -
I've installed MySQL, set up the passwords and now I can access it via PHPMyAdmin.
I copied my java application with the same configuration that is running on my other server. But it seems to have difficulties connecting to the MySQL server.
You can see the MySQL is listening:
# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:mysql *:* LISTEN 5307/mysqld
In TOP, I can see these two processes:
5196 root 20 0 3956 632 508 S 0 0.0 0:00.00 mysqld_safe
5307 mysql 20 0 167m 33m 6780 S 0 0.8 0:00.47 mysqld
But once I try to run the application I end up when Hibernate tries to connect:
23:46:10,192 INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl:127 - HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost/goout2?autoReconnect=true]
23:46:10,192 INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl:132 - HHH000046: Connection properties: {user=goout2, writedelay=0, password=****, autocommit=true, shutdown=true, characterEncoding=UTF-8, charSet=UTF-8, release_mode=auto}
23:46:14,331 WARN org.hibernate.engine.jdbc.internal.JdbcServicesImpl:169 - HHH000342: Could not obtain connection to query metadata : Could not create connection to database server. Attempted reconnect 3 times. Giving up.
23:46:14,340 INFO org.hibernate.dialect.Dialect:122 - HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
23:46:14,350 INFO org.hibernate.engine.jdbc.internal.LobCreatorBuilder:85 - HHH000422: Disabling contextual LOB creation as connection was null
23:46:14,362 INFO org.hibernate.engine.transaction.internal.TransactionFactoryInitiator:73 - HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
23:46:14,367 INFO org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory:48 - HHH000397: Using ASTQueryTranslatorFactory
23:46:14,944 INFO org.hibernate.tool.hbm2ddl.SchemaUpdate:182 - HHH000228: Running hbm2ddl schema update
23:46:14,944 INFO org.hibernate.tool.hbm2ddl.SchemaUpdate:193 - HHH000102: Fetching database metadata
23:46:18,949 ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate:201 - HHH000319: Could not get database metadata
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
With C3P0 it dies like this:
23:58:08,696 INFO com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource:462 - Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@2e902532 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@43a8e988 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> ahkzhz8n1trd1gkc8ious|37e8cf51, idleConnectionTestPeriod -> 600, initialPoolSize -> 3, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 300, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 20, maxStatements -> 50, maxStatementsPerConnection -> 0, minPoolSize -> 5, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@78875ab8 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> ahkzhz8n1trd1gkc8ious|20053644, jdbcUrl -> jdbc:mysql://localhost:5307/goout2?autoReconnect=true, properties -> {user=******, writedelay=0, password=******, autocommit=true, shutdown=true, characterEncoding=UTF-8, charSet=UTF-8, release_mode=auto} ], preferredTestQuery -> null, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> ahkzhz8n1trd1gkc8ious|347c8e1c, numHelperThreads -> 3 ]
23:58:28,694 WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector:608 - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@457e133d -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
23:58:28,697 WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector:624 - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@457e133d -- APPARENT DEADLOCK!!! Complete Status:
Obviously the MySQL does not want to accept conenction from my Java application and MySQL logs do not show anything. I suppose, there is some configuration option I am not aware of.
Thanks.
Upvotes: 1
Views: 4711
Reputation: 12548
jdbc:mysql://localhost:5307/goout2?autoReconnect=true
5307 is not the standard mysql port. Have you tried connecting to port 3306
? 5307 seems to be the PID (process id) and not the port.
You could also try to connect via 127.0.0.1
and/or your current ip. The screen looks like you have enabled mysql to listen to that ports, however make sure that its actively listening on that port. telnet localhost 5307
the mysqlserver has an option to listen on local sockets only, make sure its actually opening up a port.
Upvotes: 2