SSM项目本地运行没问题,发布到centOS上连接不上数据库,求助!

我好高冷 2019-10-15 09:23:15
项目本地跑是没有问题的,数据库在本地也可以远程连接,但是在服务器上项目中数据库连接URL为服务器IP的时候就连接不上,改成
jdbc.url=jdbc:mysql://127.0.0.1:3306/ssmdb2019,就可以。数据库服务是启动的,防火墙也没有问题,在本地用Navivat是可以连接的,配置文件没有多余字符和空格问题,求解决,

部分报错信息:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
Root Cause

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:243)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:420)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:257)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
com.sun.proxy.$Proxy19.getStudents(Unknown Source)
...全文
312 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
亲爱的Joe 2019-10-16
  • 打赏
  • 举报
回复
引用 3 楼 xxx-UTF-8 的回复:
[quote=引用 1 楼 亲爱的Joe 的回复:] 本地可以连接说明你驱动应该没错,所以,重点检查你那个连不上的数据库,是不是账号密码错误?如果数据库时远程的,那还要再检查下网络,是不是网络未连接之类的
数据库没问题哦 我在本地用Navicat连接远程的数据库是正常的[/quote] 服务器是不是和数据库在一个局域网,一个局域网就不要用远程的ip访问了‘’
我好高冷 2019-10-16
  • 打赏
  • 举报
回复
引用 1 楼 亲爱的Joe 的回复:
本地可以连接说明你驱动应该没错,所以,重点检查你那个连不上的数据库,是不是账号密码错误?如果数据库时远程的,那还要再检查下网络,是不是网络未连接之类的
数据库没问题哦 我在本地用Navicat连接远程的数据库是正常的
编程写手 2019-10-16
  • 打赏
  • 举报
回复
会不会是数据库的url有问题,建议修改为虚拟机的地址,开放端口了吗?
亲爱的Joe 2019-10-16
  • 打赏
  • 举报
回复
引用 8 楼 xxx-UTF-8 的回复:
数据库就在服务器上,我安装在虚拟机里面的,模拟远程的服务器,一定得用ip来,后面需要拆分的,不能用localhost或者127.0.0.1
等拆分了在用外网ip好了,现在没拆分呢,数据库和服务器在一个主机,就直接用127.0.0.1吧.
我好高冷 2019-10-16
  • 打赏
  • 举报
回复
引用 4 楼 亲爱的Joe 的回复:
[quote=引用 3 楼 xxx-UTF-8 的回复:] [quote=引用 1 楼 亲爱的Joe 的回复:] 本地可以连接说明你驱动应该没错,所以,重点检查你那个连不上的数据库,是不是账号密码错误?如果数据库时远程的,那还要再检查下网络,是不是网络未连接之类的
数据库没问题哦 我在本地用Navicat连接远程的数据库是正常的[/quote] 服务器是不是和数据库在一个局域网,一个局域网就不要用远程的ip访问了‘’[/quote]数据库就在服务器上,我安装在虚拟机里面的,模拟远程的服务器,一定得用ip来,后面需要拆分的,不能用localhost或者127.0.0.1
我好高冷 2019-10-16
  • 打赏
  • 举报
回复
数据库在远程服务器上,开启了远程连接,不然Navicat是连接不上的哦
zichen2394 2019-10-16
  • 打赏
  • 举报
回复
cquzxs 2019-10-16
  • 打赏
  • 举报
回复
数据库是本地的,服务器是远程的?看看数据库是否开启了允许远程连接
瘦死的黑骆驼 2019-10-15
  • 打赏
  • 举报
回复
亲爱的Joe 2019-10-15
  • 打赏
  • 举报
回复
本地可以连接说明你驱动应该没错,所以,重点检查你那个连不上的数据库,是不是账号密码错误?如果数据库时远程的,那还要再检查下网络,是不是网络未连接之类的

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧