启动tomcat后,只要有数据操作mysql服务就自动关闭?

sqtsz 发布于 2017/11/01 15:28
阅读 793
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

今天把项目部署到服务器上时,报了一个error。
后来检查发现,mysql服务停止了,但是之前服务已经启动了。经过几次测试发现,没启动tomcat时,使用Navicat对数据库操作不会有问题,只要启动项目,一有数据操作就会自动停止mysql服务,这是什么情况?
错误信息如下:
2017-11-01 08:49:35,007 ERROR [com.alibaba.druid.pool.DruidDataSource] - create
connection error, url: jdbc:mysql://192.168.251.229:3306/creditteaching?useUnico
de=true&characterEncoding=utf-8, errorCode 0, state 08S01
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fai
lure

The last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
127)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:356)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2502)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2
539)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2321)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:344)
        at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterCha
inImpl.java:148)
        at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilte
r.java:211)
        at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterCha
inImpl.java:142)
        at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnecti
on(DruidAbstractDataSource.java:1410)
        at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnecti
on(DruidAbstractDataSource.java:1464)
        at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(Dru
idDataSource.java:1969)
Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.DualStackPlainSocketImpl.connect0(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:79)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
va:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.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 java.net.Socket.connect(Socket.java:528)
        at java.net.Socket.<init>(Socket.java:425)
        at java.net.Socket.<init>(Socket.java:241)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:258)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:306)
        ... 18 more

数据源使用的时druid,配置信息如下:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 
    <!-- 数据源驱动类可不写,Druid默认会自动根据URL识别DriverClass -->
    <property name="driverClassName" value="${jdbc.driver}" />
    
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />

<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="1" />
<property name="minIdle" value="3" /> 
<property name="maxActive" value="20" />

<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />

<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />

<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />

<property name="validationQuery" value="${jdbc.testSql}" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />

<!-- 打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用)
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> -->

<!-- 配置监控统计拦截的filters -->
    <property name="filters" value="stat" /> 
</bean>

加载中
0
sqtsz
sqtsz

真心请教

0
sqtsz
sqtsz

求解惑

MyEHome
MyEHome
陈不能解决
0
Eric_林
Eric_林

连接失败,数据库配置没对吧,试着把&改成&amp;

仔细看下url呗,应该有错的

0
爱生活-爱美女
爱生活-爱美女

我页碰到了 怎么解决的

爱生活-爱美女
爱生活-爱美女
回复 @sqtsz : 我的查出来了 是网络边界问题~
sqtsz
sqtsz
没解决
0
l
luyuxi617

表哥们解决了吗?

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部