mysql运行一段时间后就必须重新启动服务才能正常运行?

时间:2021-11-14 16:59:17
一个 jsp+Tomcat+Mysql 的web工程
目前的情况就是web工程连续运行大概一两天,再登陆该工程的时候,提示rollback,然后就必须重新启动数据库服务后才能正确运行,web工程中没有使用连接池。

5 个解决方案

#1


mysql连接数太多,导致数据库崩溃。rs,conn连接之后一定要关闭。

#2


数据库链接资源该怎么优化? 
在页面里要连接数据库进行查询,将取得的结果显示在页面上,在每次查询后都用close关闭了连接的。平时的显示正常,在数据库中可以监视得到,创建了一个连接后,查询完了后很快就释放了,但是在一次查询还没完时,如果在浏览器上很快的按F5刷新页面,数据库的连接会不停的增加,而原来的连接释放很慢,很快就把数据库拖死了。采用连接池也只能限制总的连接数,如果一个人很快的不停的刷新,数据库不会死了,但很快一个人就把资源用完了,应用被拖死.

解决办法:

不要把连结建在BEAN中,应该写在一个类的静态方法中,然后作为参数传过去,使每个调用的人都使用同一静态连结.在连结的BEAN中首先看那个静态的连结是否是null,如果不是,就直接引用,如果是就重新建立这个连结.

#3


这是没有适当释放内存的结果。

#4


留名!按LS的说法我去找找目前项目中是否存在这个问题。
以前碰到好几个系统类似这样的情况,我也觉得很怪。

#5


我把rs,con都在finally中关掉,整个工程就都运行不起来了。而且我关掉其中一个con,整个工程全部与数据库读出相关的操作就都失败了,提示是该页无法显示。

#1


mysql连接数太多,导致数据库崩溃。rs,conn连接之后一定要关闭。

#2


数据库链接资源该怎么优化? 
在页面里要连接数据库进行查询,将取得的结果显示在页面上,在每次查询后都用close关闭了连接的。平时的显示正常,在数据库中可以监视得到,创建了一个连接后,查询完了后很快就释放了,但是在一次查询还没完时,如果在浏览器上很快的按F5刷新页面,数据库的连接会不停的增加,而原来的连接释放很慢,很快就把数据库拖死了。采用连接池也只能限制总的连接数,如果一个人很快的不停的刷新,数据库不会死了,但很快一个人就把资源用完了,应用被拖死.

解决办法:

不要把连结建在BEAN中,应该写在一个类的静态方法中,然后作为参数传过去,使每个调用的人都使用同一静态连结.在连结的BEAN中首先看那个静态的连结是否是null,如果不是,就直接引用,如果是就重新建立这个连结.

#3


这是没有适当释放内存的结果。

#4


留名!按LS的说法我去找找目前项目中是否存在这个问题。
以前碰到好几个系统类似这样的情况,我也觉得很怪。

#5


我把rs,con都在finally中关掉,整个工程就都运行不起来了。而且我关掉其中一个con,整个工程全部与数据库读出相关的操作就都失败了,提示是该页无法显示。