数据库mysql连接不上的问题

错误日志如下图:
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:516)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:372)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:417)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:255)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy71.getMenuByCode(Unknown Source)
at com.xmt.wcms.serviceWrap.impl.WcMenuServiceWrap.getMenuByCode(WcMenuServiceWrap.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.taobao.hsf.remoting.provider.ProviderProcessor.handleRequest0(ProviderProcessor.java:497)
at com.taobao.hsf.remoting.provider.ProviderProcessor.handleRequest(ProviderProcessor.java:168)
at com.taobao.hsf.remoting.server.RPCServerHandler.handleRequest(RPCServerHandler.java:44)
at com.taobao.hsf.remoting.server.RPCServerHandler.handleRequest(RPCServerHandler.java:1)
at com.taobao.hsf.remoting.netty.server.handler.NettyServerHandler$HandlerRunnable.run(NettyServerHandler.java:116)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:221)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)
at org.hibernate.internal.SessionImpl.connection(SessionImpl.java:427)
at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:429)
... 22 more
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (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 org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2294)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:301)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)
... 25 more
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:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:989)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:341)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2192)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2225)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2024)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:779)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:39)
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:256)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2304)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2290)
... 30 more
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:300)
... 46 more

数据库根本就没有连上,检查下你数据库连接字符串里的服务器地址、端口号,你mysql所在的机器是否联网,是否在防火墙允许端口,是否和客户端在一个局域网,还有你mysql是否安装配置正确处于运行的状态。

mysql是否是本地服务器,如果不是的话有没有配置访问权限:
mysql>GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '_**password**_' WITH GRANT OPTION;
FLUSH PRIVILEGES;

本地先ping ip地址,telnet ip 端口号,如果没问题,自己用本地数据客户端连接,看看用户名密码是正确吗?

使用Navicat连接一下试试,看看什么提示

首先来排查下问题
从上面看数据库没有连接,首先看看网络是否通,然后看看通过工具是不是直接能连接到数据库,如果可以 那么说明通信没问题,然后查看自己代码,
jar包啦 说明的 祝你早点解决

如果你的mysql 使用的 是php自带的 那么需要打开phpstudy服务器 启动mysql

既然是这样,之前我也出现这问题,你可以试试,首先确保你的配置文件的数据库名称和用户名密码正确(不要有空格之类的),想到可能db.properties中数据库的连接虽然在myeclipse配置改了,但没有实际到编辑的目录classes中,打开该文件下,有这个文件,且内容正确。还有就是jar包问题

看了你的几次回复,了解到你可以通过客户端工具连接数据库,说明数据库服务及网络环境应该是正常的。建议先在项目中写一段测试代码,用原生的
jdbc来连接,注意jdk版本和mysql驱动程序jar包的版本和完整性,必要时可以更换jdk和mysql驱动程序jar包,看是否可以通过原生jdbc来连接。如果能连接,则检查下项目中用到的数据源包(诸如dbcp、c3p0之类)的配置及jar包版本。剩下的就是ORM持久层框架的配置和jar包问题的排查(诸如Hibernate等)。逐一排查,应该可以解决问题。

确认下你连接本地数据库是指的数据库服务器和你的应用程序在同一台服务器上么?如果不是同一台服务器,首先看下mysql对应用服务器ip是否有授权;在应用服务器上安装mysql客户端,用mysql客户端连接mysql服务器试下能否正常连接,如果能不能正常连接,请查看下应用程序的配置或者相关的包

我代码利用sourcetree克隆git上的项目代码到本地,出现前端调用服务端,服务端调用数据库出现连接问题,导致hsf线程异常,所以前端迟迟没有获取到返回的值,出现超时问题。。。。。在数据库,maven不变的情况下,我不用来自sourcetree的代码,而是从同事那边拷贝项目代码(跟sourcetree的代码本质是一样的),却不会出现这种情况。