【阿里云解决方案】安装mysql5.5以上的经常会发现网站访问不到数据库-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

【阿里云解决方案】安装mysql5.5以上的经常会发现网站访问不到数据库

自娱自乐 2014-04-21 09:44:16 13547
最近群里经常有人问:我安装的mysql怎么经常宕机,出现网站访问不到数据库。
mysql宕机主要有两个原因:
1.内存被其它进程大量占用,或数据库本身数据量太大导致mysql宕机
2.程序访问mysql后没有执行mysql.close,大量占用资源导致宕机。

群里提出的这个问题主要是mysql5.5以上的,基本上不是mysql宕机。因为5.5以上的数据库会有个链接超时配置。
默认是28800秒也就是8个小时,会断开连接。
解决方案:
1.修改mysql配置。
如果是linux服务器编辑mysql.cnf   执行vi /etc/mysql.cnf
找到[mysqld] 在底下添加
interactive_timeout=28800000
wait_timeout=28800000
多加了三个0  也就是8000个小时。基本就不用考虑连接超时
修改完配置后,记得重启mysql服务。

2.程序方面。
以java程序为例(抱歉只会java)
打开Spring配置文件,修改applicationContext.xml
在datasource bean底下添加
用来指定测试连接所使用的SQL语句。
如果测试发现连接已经close,那么将自动重建连接。
<property name="houseKeepingTestSql">  
<value>SELECT 1</value>
</property>
用来指定在使用连接之前要进行测试。
<property name="testBeforeUse">  
<value>true</value>  
</property>


希望对大家有所帮助,讨论群http://url.cn/KLZKN9




解决方案数据库 解决方案安装mysql 网站访问数据库 解决方案网站访问 安装mysql数据库
分享到
取消 提交回答
全部回答(8)
  • 千鸟
    2014-04-29 17:45:28
    不顶不舒服斯基
    0 0
  • colin505
    2014-04-28 22:29:16
    Re【阿里云解决方案】安装mysql5.5以上的经常会发现网站访问不到数据库
    最近老是出错,到底怎么解决啊
    0 0
  • 天空中的云
    2014-04-28 08:24:29
    不错不错
    0 0
  • mayle
    2014-04-27 12:02:44
    这个纯属程序设计不合理,跟mysql没半毛钱关系,设置过长的超时时间只会导致连接数可能被占满导致无法连接,正常的程序在断开连接后就应该主动closed,避免连接持续sleep,8小时的超时时间已经很长了
    0 0
  • kideny
    2014-04-23 10:31:47
    这个必须要顶,我后悔死升级mysql5.5了,一点毛用都没有。
    0 0
  • 自娱自乐
    2014-04-21 14:23:23
    回2楼solidedge的帖子
    RDS如果会出现这种问题 那只能用程序来解决
    0 0
  • solidedge
    2014-04-21 12:48:53
    Re【阿里云解决方案】安装mysql5.5以上的经常会发现网站访问不到数据库
    如果是RDS,该 怎么设置?

    -------------------------

    回3楼自娱自乐的帖子
    我以为RDS也需要设置呢,找了半天没找到地方设置,我使用的是长连接,应该是没事吧`
    0 0
  • qilu
    2014-04-21 10:05:15
    回 楼主(自娱自乐) 的帖子
    赞楼主!
    0 0
滑动查看更多
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程