You probably have your mysql server configured to only accept socket connections, and not TCP/IP connections. As a rule, external client programs use TCP/IP by default, as sockets can only be used if the db server is on the same machine as the client program and this is often not the case for production applications. See http://dev.mysql.com/doc/refman/5.0/en/connecting.html for more information.
Rachel On Thu, May 26, 2011 at 4:29 PM, Rick Mann <[email protected]> wrote: > I'm trying to set my webapp up on a new server, and running into something > I've never seen before. Google has solutions for people that worked, but none > of them work for me. > > The same config on OpenSolaris and OS X work (albeit with different versions > of MySQL and Resin). I'm not sure if this is new with 4.0.18 or not. > > I have MySQL and Resin 4.0.18 running on the same host. I have my Java > webapp, and WordPress both installed. Whenever either one tries to access the > DB, access is refused. Each webapp uses its own user/password. I've verified > that I can access MySQL via the mysql command-line client using both sets of > credentials. > > WordPress reports this error: > > /lz/usr/wordpress/wp-includes/wp-db.php:509: Warning: A link to the server > could not be established. > url=jdbc:mysql://localhost:3306/?characterEncoding=ISO8859_1 > driver=com.mysql.jdbc.Driver > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link > failure The last packet sent successfully to the server was 0 milliseconds > ago. The driver has not received any packets from the server. [mysql_error] > > MySQL: 5.5.12 > Connector/J: 5.1.15 > Resin: 4.0.18 > OS: 4.4.3-4ubuntu5 > > My Java app reports "Connection refused" (long stacktrace follows). The MySQL > JDBC connector is in webapp-jars. The config for the Java webapp looks like: > > <database> > <jndi-name>jdbc/mydb</jndi-name> > <max-connections>1024</max-connections> > <max-idle-time>30s</max-idle-time> > <driver> > > <type>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</type> > <url>jdbc:mysql://localhost:3306/mydb</url> > <user>mydb</user> > <password>#####</password> > </driver> > </database> > > WordPress config: > > define('DB_NAME', 'wordpress'); > define('DB_USER', 'wordpress'); > define('DB_PASSWORD', '####'); > define('DB_HOST', 'localhost'); > define('DB_CHARSET', 'utf8'); > define('DB_COLLATE', ''); > > Webapp error: > > java.net.ConnectException: Connection refused > > > javax.servlet.ServletException: > org.springframework.transaction.CannotCreateTransactionException: > Could not open Hibernate Session for transaction; nested exception is > org.hibernate.exception.JDBCConnectionException: > Cannot open connection > at > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) > at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:228) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) > at > com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95) > at > com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287) > at > com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792) > at > com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) > at > com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) > at > com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) > at > com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) > at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) > at > com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) > at > com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) > at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) > at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) > at com.caucho.env.thread.ResinThread.run(ResinThread.java:130) > Caused by: org.springframework.transaction.CannotCreateTransactionException: > Could not open Hibernate Session for transaction; nested exception is > org.hibernate.exception.JDBCConnectionException: > Cannot open connection > at > org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:599) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374) > at > org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263) > at > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy51.findByLogin(Unknown Source) > at com.latencyzero.satdb.LoginAction.execute(LoginAction.java:70) > at > org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) > at > org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) > at > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) > at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) > at > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) > at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) > at > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) > at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:228) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) > at > com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95) > at > com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287) > at > com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792) > at > com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) > at > com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) > at > com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) > at > com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) > at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) > at > com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) > at > com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) > at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) > at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) > at com.caucho.env.thread.ResinThread.run(ResinThread.java:130) > Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open > connection > at > org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74) > at > org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) > at > org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) > at > org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420) > at > org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) > at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119) > at > org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57) > at > org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) > at > org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:558) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374) > at > org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263) > at > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy51.findByLogin(Unknown Source) > at com.latencyzero.satdb.LoginAction.execute(LoginAction.java:70) > at > org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) > at > org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) > at > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) > at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) > at > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) > at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) > at > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) > at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:228) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) > at > com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95) > at > com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287) > at > com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792) > at > com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) > at > com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) > at > com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) > at > com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) > at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) > at > com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) > at > com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) > at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) > at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) > at com.caucho.env.thread.ResinThread.run(ResinThread.java:130) > Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: > Communications > link failure > > The last packet sent successfully to the server was 0 milliseconds ago. > The driver has not received any packets from the server. > 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:407) > at > com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) > at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:346) > at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334) > at > com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371) > at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163) > at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794) > at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) > 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:407) > at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378) > at > com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) > at > com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:440) > at > com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:138) > at > com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource.getPooledConnection(MysqlConnectionPoolDataSource.java:80) > at > com.caucho.sql.DriverConfig.createPooledConnection(DriverConfig.java:651) > at > com.caucho.sql.ManagedConnectionImpl.initDriverConnection(ManagedConnectionImpl.java:265) > at > com.caucho.sql.ManagedConnectionImpl.<init>(ManagedConnectionImpl.java:144) > at > com.caucho.sql.ManagedFactoryImpl.createManagedConnection(ManagedFactoryImpl.java:153) > at > com.caucho.env.dbpool.ConnectionPool.createConnection(ConnectionPool.java:980) > at > com.caucho.env.dbpool.ConnectionPool.allocatePoolConnection(ConnectionPool.java:822) > at > com.caucho.env.dbpool.ConnectionPool.allocateConnection(ConnectionPool.java:714) > at > com.caucho.env.dbpool.ConnectionPool.allocateConnection(ConnectionPool.java:688) > at com.caucho.sql.UserDataSource.getConnection(UserDataSource.java:71) > at com.caucho.sql.DBPool.getConnection(DBPool.java:785) > at > org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82) > at > org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417) > at > org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) > at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119) > at > org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57) > at > org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) > at > org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:558) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374) > at > org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263) > at > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy51.findByLogin(Unknown Source) > at com.latencyzero.satdb.LoginAction.execute(LoginAction.java:70) > at > org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) > at > org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) > at > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) > at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) > at > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) > at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) > at > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) > at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:228) > at > com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) > at > com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) > at > com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95) > at > com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287) > at > com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792) > at > com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) > at > com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) > at > com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) > at > com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) > at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) > at > com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) > at > com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) > at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) > at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) > at com.caucho.env.thread.ResinThread.run(ResinThread.java:130) > Caused by: java.net.ConnectException: Connection refused > at java.net.PlainSocketImpl.socketConnect(Native Method) > at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) > at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) > at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) > at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) > at java.net.Socket.connect(Socket.java:529) > at java.net.Socket.connect(Socket.java:478) > at java.net.Socket.<init>(Socket.java:375) > at java.net.Socket.<init>(Socket.java:218) > at > com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254) > at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:295) > at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334) > at > com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371) > at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163) > at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794) > at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) > > Thanks, > Rick > > > > _______________________________________________ > resin-interest mailing list > [email protected] > http://maillist.caucho.com/mailman/listinfo/resin-interest > _______________________________________________ resin-interest mailing list [email protected] http://maillist.caucho.com/mailman/listinfo/resin-interest
