MySQL连接失效

原创 2015年11月19日 13:56:07

MySQL连接失效

MYSQL中的配置参数interactive_timeoutwait_timeout(可能导致过多sleep进程的两个参数.默认8小时)

1)interactive_timeout:
参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
参数默认值:28800秒(8小时)


(2)wait_timeout:
参数含义:服务器关闭非交互连接之前等待活动的秒数。
在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)
参数默认值:28800秒(8小时)

MySQL服务器所支持的最大连接数是有上限的,因为每个连接的建立都会消耗内存,因此我们希望客户端在连接到MySQL Server处理完相应的操作后,应该断开连接并释放占用的内存。如果你的MySQL Server有大量的闲置连接,他们不仅会白白消耗内存,而且如果连接一直在累加而不断开,最终肯定会达到MySQL Server的连接上限数,这会报'too many connections'的错误。对于wait_timeout的值设定,应该根据系统的运行情况来判断。在系统运行一段时间后,可以通过show processlist命令查看当前系统的连接状态,如果发现有大量的sleep状态的连接进程,则说明该参数设置的过大,可以进行适当的调整小些。


3.一个分组或任何产生或中间串,或者任何参数由发送的最大大小#MYSQL_STMT send_long_data()C API函数
max_allowed_packet = 10M
 

问题:
   如果在配置文件my.cnf中只设置参数wait_timeout=100,则重启服务器后进入,执行:
   Mysql> show variables like “%timeout%”;
会发现参数设置并未生效,仍然为28800(即默认的8个小时)。
查询资料后,要同时设置interactive_timeoutwait_timeout才会生效。
mysqld
wait_timeout=100
interactive_timeout=100
重启MySQL Server进入后,查看设置已经生效。
Linux 重启 不过linux 有很多的版本,网上也可以查找很多相关类似的列子:
例如:service mysqld restart


MySQL中判断连接失效的方法

对于数据库连接是否失效,如:连接关闭,连接超时等,我们经常会使用Connection接口提供的isClosed()方法进行判断。然而,坑人的是,各个厂家,在驱动中对这个方法的实现不是很好。在MySQL...
  • promaster
  • promaster
  • 2016年12月16日 10:34
  • 1213

MySqlDBCP连接池8小时失效解决方案

最近做一个定时任务类型的项目,此项目对数据库的访问间隔较长。这样就会导致测试的时候好好的,投入生产之后问题出现了。查看日志,原来是数据库连接池超时。网上看了一些解决方案,但是有些都不能解决问题。比较了...
  • liuyangvoid
  • liuyangvoid
  • 2014年05月16日 14:23
  • 2843

设置MYSQL最大连接数与WAIT_TIMEOUT

设置mysql最大连接数mysql -u root -p//首先登录MYSQL命令行 Enter password: 修改最大连接数mysql> set GLOBAL max_connections=...
  • shizheng163
  • shizheng163
  • 2016年04月04日 12:05
  • 1215

mysql wait_timeout设置导致连接池连接失效问题分析

这两天开始陆续有同事反馈, 定时job访问mysql时,经常会报类似如下的错误. ### Error updating database. Cause: com.mysql.jdbc.excepti...
  • shuimuz_j
  • shuimuz_j
  • 2013年08月19日 23:46
  • 1561

phpmyadmin 提示“无法连接:无效的设置。”的解决方法

欢迎使用 phpMyAdmin 错误 MySQL 返回:文档 无法连接:无效的设置。 phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。您应该检查配置文件中的主机、用户名...
  • u013982921
  • u013982921
  • 2014年11月10日 21:28
  • 2028

解决c3p0 mysql八小时连接失效问题

MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,...
  • u010813622
  • u010813622
  • 2014年12月04日 19:50
  • 1274

判断MySQL连接是否有效

参见官方参考,第25章:API和库25.2.3.49. mysql_ping()int mysql_ping(MYSQL *mysql) 描述检查与服务器的连接是否工作。如果连接丢失,...
  • xiliuhu
  • xiliuhu
  • 2009年09月25日 13:56
  • 3337

MySQL连接超时断开的问题

这遍文章转过来做个笔记,时不时看看。 转:http://blog.csdn.net/nethibernate/article/details/6658855 Exception如下: [...
  • xuke6677
  • xuke6677
  • 2015年04月20日 10:22
  • 3265

c3p0+mysql连接池超时问题

今天发现一个非常有趣的问题,当应用启动之后,如果在一段时间内没有任何操作,当再次连接数据库的时候数据库就会报一个连接异常,这个问题是什么原因造成的呢,分析了下,原因如下: 首先我们要看看mysql以及...
  • fan891030
  • fan891030
  • 2015年06月29日 15:20
  • 1087

从mysql连接池中获取到失效连接的问题

最近发现一个奇葩问题: 自己做的一个网站开着放一个晚上, 第二天session超时后重新登录。第一次登录时会出现用户名和密码错误的提示,刷新页面再次登录就能登录成功。查看日志,发现有一个hiberna...
  • u012674931
  • u012674931
  • 2016年08月10日 13:19
  • 318
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL连接失效
举报原因:
原因补充:

(最多只允许输入30个字)