如何断开MYSQL数据库连接

如何断开MYSQL数据库连接,第1张

两种常见的断开方式:

1 根据数据库连接字符串设置链接生命周期 会自行断开

2 拿,net环境举例 MySQL.Data.MySqlClient类库下的 MySqlConnection类 下面有个方法 叫 .Close() 即可断开连接;

访问MySqlConnection类下的 Statu (只读的)字段 可以获得当前连接状态

提示 断开后的连接 可以随时 根据需要打开

mysql与程序连接,在一定时间内没有出现连接超过mysql的连接等待时间(wait_timeout)会出现断开连接情况,跟数据库配置有关。

mysql默认连接等待时间是为(28800s)即8h,

命令:show global variables like 'wait_timeout' 查看等待时间

在msql5中wait_timeout的最大值分别是24d/365(win/linux)

在mysql中的安装目录中的my.ini增加一行 wait_timeout=1814400

linuix在etc/my.cnf中

MySQL服务器默认的空闲时间超过8个小时,MySQL将自动断开该连接,而连接池却认为该连接还是有效的,当应用申请使用该连接时,就会报错:Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was *** millisecond ago。

如果你使用的是hibernate,需要修改连接池的设置,因为 hibernate自带的连接池性能很差,可以使用C3P0,然后配置:

<property name="automaticTestTable">test</property>

c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么 属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何 *** 作,它将只供c3p0测试使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7164833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存