今天把專案部署到服務器上時,報了一個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="https://bbs.csdn.net/topics/${jdbc.driver}" />
<!-- 基本屬性 url、user、password -->
<property name="url" value="https://bbs.csdn.net/topics/${jdbc.url}" />
<property name="username" value="https://bbs.csdn.net/topics/${jdbc.username}" />
<property name="password" value="https://bbs.csdn.net/topics/${jdbc.password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="https://bbs.csdn.net/topics/1" />
<property name="minIdle" value="https://bbs.csdn.net/topics/3" />
<property name="maxActive" value="https://bbs.csdn.net/topics/20" />
<!-- 配置獲取連接等待超時的時間 -->
<property name="maxWait" value="https://bbs.csdn.net/topics/60000" />
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="https://bbs.csdn.net/topics/60000" />
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="https://bbs.csdn.net/topics/300000" />
<property name="validationQuery" value="https://bbs.csdn.net/topics/${jdbc.testSql}" />
<property name="testWhileIdle" value="https://bbs.csdn.net/topics/true" />
<property name="testOnBorrow" value="https://bbs.csdn.net/topics/false" />
<property name="testOnReturn" value="https://bbs.csdn.net/topics/false" />
<!-- 打開PSCache,并且指定每個連接上PSCache的大小(Oracle使用)
<property name="poolPreparedStatements" value="https://bbs.csdn.net/topics/true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="https://bbs.csdn.net/topics/20" /> -->
<!-- 配置監控統計攔截的filters -->
<property name="filters" value="https://bbs.csdn.net/topics/stat" />
</bean>
mysql組態檔
[mysql]
#設定mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
character-set-server=utf8
basedir = D:\dagong\database\mysql-5.7.11-winx64
datadir = D:\dagong\database\mysql-5.7.11-winx64\data
port = 3306
#允許最大連接數
max_connections=500
#服務器使用的字符集默認為8位元編碼Iatin1字符集
character-set-server=utf8
#創建新表時將使用的默認存盤引擎
uj5u.com熱心網友回復:
查下 MySQL 日志中的錯誤資訊uj5u.com熱心網友回復:
應該是mysql被oom了jvm啟動的時減小記憶體
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/106465.html
標籤:MySQL
