- 浏览: 1492860 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
解决数据库连接池连接mysql时,每隔8小时mysql自动断开所有连接的问题
最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql数据库,可mysql数据库每隔8小时就会自动断开所有链接,连接池就失效,需要重新启动tomcat才有效,呵呵,服务器可不能老是用“人工智能”来干预啊,后来翻了一下mysql的手册,发现mysql有解决办法,下面就是最简单的解决办法:
连接数据库的时候加上autoReconnect=true这个参数:
jdbc:mysql://localhost:3306/accounant?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
但是,在mysql手册中有这样一段话:
autoReconnect
呵呵,不知道这种“副作用”会产生什么后果,难道会使tomcat崩溃??会产生“数据一致性”问题??
保险一点的办法还是增加“wait_timeout”这个值吧,把28800设置成更大的值,这样应该就不会有什么问题了吧。
注:目前我使用的是autoReconnect这种方式,未发现什么问题。
最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql数据库,可mysql数据库每隔8小时就会自动断开所有链接,连接池就失效,需要重新启动tomcat才有效,呵呵,服务器可不能老是用“人工智能”来干预啊,后来翻了一下mysql的手册,发现mysql有解决办法,下面就是最简单的解决办法:
连接数据库的时候加上autoReconnect=true这个参数:
jdbc:mysql://localhost:3306/accounant?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
但是,在mysql手册中有这样一段话:
驱动程序是否应尝试再次建立失效的和/或死连接? 如果允许,对于在失效或死连接上发出的查询(属于当前事务),驱动程序将抛出异常,但在新事务的连接上发出下一个查询时,将尝试再连接。不推荐使用该特性,这是因为,当应用程序不能恰当处理SQLExceptions时,它会造成与会话状态和数据一致性有关的副作用,设计它的目的仅用于下述情况,即,当你无法配置应用程序来恰当处理因死连接和/或无效连接导致的SQLExceptions时。作为可选方式,可将MySQL服务器变量“wait_timeout”设置为较高的值,而不是默认的8小时。 |
呵呵,不知道这种“副作用”会产生什么后果,难道会使tomcat崩溃??会产生“数据一致性”问题??
保险一点的办法还是增加“wait_timeout”这个值吧,把28800设置成更大的值,这样应该就不会有什么问题了吧。
注:目前我使用的是autoReconnect这种方式,未发现什么问题。
关联问题:
发表评论
-
SQL查询顺序处理
2011-09-15 11:29 1614select的解析执行顺序1. from语句 2. where ... -
概念模型、逻辑模型、物理模型区别
2011-09-08 10:48 1221http://wenku.baidu.com/view/9a6 ... -
规范化-数据库设计原则
2011-09-07 10:41 1440简介: 关系数据库设计的核心问题是关系模型的设计。本文将结合具 ... -
数据库设计准则(第一、第二、第三范式说明)
2011-09-07 10:17 1269I、关系数据库设计范式 ... -
oracle日志文件及归档日志模式
2011-09-01 10:18 1750oracle数据库中分为联机日志文件和归档日志文件两种日志文件 ... -
Oracle重做日志管理
2011-09-01 09:50 1425Oracle重做日志操作是为了记录数据的改变,提供数据库 ... -
Oracle复制技术的分布式系统同步应用
2011-08-28 17:41 1284本文将结合一个实际案例,讲解Oracle复制技术在分布 ... -
oracle数据同步
2011-08-28 14:34 983首先创建一个 dblink(dat ... -
Oracle 流复制(Stream Replication)
2011-07-20 10:37 5604Stream 是Oracle 的消息队列( ... -
表分区
2011-06-30 09:21 1670分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用 ... -
数据库大型应用解决方案总结(1)
2011-06-22 18:01 1383随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设 ... -
oracle_SQL中ROWID与ROWNUM的使用
2011-06-16 10:51 1409对于 Oracle 的 rownum 问题,很多资料都说不支持 ... -
oracle函数手册
2011-06-08 09:22 1177SQL中的单记录函数1.ASCII ... -
oracle基础文档
2011-06-03 09:10 1228oracle基础文档 -
ORACLE 找回误删的数据库
2011-06-02 14:14 1358同事找回时操作的数据库为oracle 10g , 之前删除方式 ... -
为什么Oracle有时会用索引来查找数据?--强制Oracle使用最优的“执行计划”
2011-06-01 09:04 1731[摘要] 在你运用SQL语言,向数据库发布一条查询语句时,O ... -
sql编程规范与性能
2011-05-31 08:40 1272sql编程规范与性能 -
Nested Loops Join(嵌套连接)
2011-04-13 16:21 11549说明:最近找到了一个 ... -
如何看Oracle执行计划
2011-01-14 15:43 2178oracle执行计划解释 ... -
oracle中分析sql语句执行计划的方法
2011-01-14 15:36 2215如何生成explain plan? 解答:运行utl ...
相关推荐
数据库连接池是一种资源管理技术,它预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕后归还而不是直接关闭,从而减少了频繁创建和销毁连接的开销。在.NET Core中,对于MySQL数据库...
MySQL数据库连接池是提高应用程序性能的一种重要技术,它允许开发者管理多个数据库连接并高效地复用这些连接,而不是每次需要时都创建新的连接。在C#编程中,我们可以使用自定义的连接池或者第三方库如ADO.NET的...
自定义数据库连接池还可以考虑支持多种数据库类型,例如SQL Server、MySQL、Oracle等,通过泛型或接口实现对不同数据库的适配。 理解并掌握C#高效数据库连接池的实现,对于开发高性能的数据库应用至关重要。通过...
总结,使用Proxool配置MySQL数据库连接池,不仅可以解决8小时连接超时问题,还可以提升应用程序的性能和稳定性。通过详细配置Proxool,我们可以灵活地调整连接池参数以适应不同应用场景的需求,并通过集成到Tomcat,...
* 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接...
在本示例中,我们将关注如何在Eclipse集成开发环境中配置和使用数据库连接池来连接MySQL数据库,主要涉及JDBC(Java Database Connectivity)接口。 首先,我们需要了解JDBC。JDBC是Java平台的标准API,用于与各种...
5. **超时与回收**:连接池会设定每个连接的最大生命周期,超过这个时间未被使用的连接会被自动回收,防止因长时间未使用的“僵尸”连接占用资源。 ### C#中的数据库连接池实现 在C#中,主要使用ADO.NET框架来实现...
MySQL数据库连接池是数据库管理中的一个重要概念,它在Linux环境下被广泛应用。数据库连接池是一种管理数据库连接的技术,通过预先创建并维护一定数量的数据库连接,为应用程序提供高效、可靠的数据库访问服务。它...
数据库连接池在初始化时会创建一定数量的数据库连接并保存起来,当应用程序需要连接时,可以从池中获取一个已存在的连接,而不是每次都去新建,用完后也不立即关闭,而是归还给连接池。这样可以显著减少建立和释放...
Java连接MySQL数据库通常涉及到几个关键知识点,包括JDBC(Java Database Connectivity)、数据库驱动、数据库连接池以及具体的数据库操作。在"java连接mysql数据库连接池demo"这个项目中,我们可以深入探讨以下几个...
MySQL数据库连接池是针对MySQL数据库的一种优化方式,通过预先创建并维护一定数量的数据库连接,避免了每次需要连接数据库时的创建和销毁过程,从而提高了应用的性能和资源利用率。 首先,我们需要了解什么是数据库...
数据库连接池的基本思想是预先创建并维护一定数量的数据库连接,当应用需要与数据库通信时,可以快速地从连接池中获取一个已建立的连接,而不是每次都新建一个。用完后,连接会归还到池中,供其他请求使用,而不是...
连接池的核心思想是重用已建立的数据库连接,而不是每次需要时都创建新的连接,从而避免了频繁创建和销毁连接带来的开销。 在Delphi中,实现数据库连接池可以通过第三方库或者自定义设计。描述中提到的"经典的...
综上所述,这个Node.js模块提供了完整的MySQL数据库操作解决方案,结合连接池和大量测试数据,不仅方便开发者快速构建数据库相关功能,还为性能测试和优化提供了便利。通过深入理解和使用这个模块,可以提升你在Node...
6. **异常处理**:在数据库连接出现异常时,连接池应有相应的处理策略,如自动重试、隔离故障连接等。 7. **连接池实现**:常见的开源数据库连接池实现有C3P0、DBCP、HikariCP、Druid等。自定义连接池需要考虑如何...
2. **连接获取**:当需要访问数据库时,应用程序从连接池中借用一个连接,而不是直接创建新的连接。 3. **连接使用**:应用执行SQL操作,完成任务后,将连接归还到连接池,而不是关闭连接。 4. **连接维护**:C3P0会...
### JSP连接MySQL使用连接池方式详解 #### 一、引言 在现代Web开发中,JSP(Java Server Pages)是一种广泛使用的服务器端技术,用于生成动态网页内容。为了提高应用程序的性能和效率,通常会采用连接池来管理与...
当应用程序需要连接数据库时,可以从池中获取一个已存在的连接,而不是每次都去创建新的连接。用完后,连接会归还到池中,而非直接关闭,从而减少了频繁建立和销毁连接的开销。这不仅提高了系统性能,也有效避免了...