关于数据库8小时自动断线的问题的一种解决方案

问题描述

MySQL有自动断连的机制,一般默认为8小时:若一个数据库连接保持8个小时没有进行操作,则自动断开连接。在本项目中我最开始设置的机制是在服务端开始运行的时候建立数据库连接,服务端停止运行时断开数据库连接。然而实际使用时发现本系统的使用频率极低,但却时不时会需要用到,因此需要保持数据库连接长时间可用。


解决方法

虽然也可以设置mysql的断线时长为很大的一个值,但这样做并不能确保连接不会中断。后来我重新修改了代码中的部分内容,把数据库连接DBconn从一个全局变量改为局部变量,即每次进行数据库相关操作时再创建数据库连接。这样即确保了需要用数据库时能够访问,又避免了长期闲置的mysql连接占用系统资源,一举两得。

以后在做类似的系统时应注意此问题。