阿里云
1024开发者盛宴之Java专家问答专场
发表主题 回复主题
  • 10316阅读
  • 9回复

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

级别: 菜鸟
发帖
38
云币
101
— 本帖被 wuzei 从 弹性计算 移动到本区(2014-05-16) —
最近群里经常有人问:我安装的mysql怎么经常宕机,出现网站访问不到数据库。 +xlxhF  
mysql宕机主要有两个原因: ; (+r)r_  
1.内存被其它进程大量占用,或数据库本身数据量太大导致mysql宕机 0R2 AhA#  
2.程序访问mysql后没有执行mysql.close,大量占用资源导致宕机。 .SdEhW15)  
B"I> mw  
群里提出的这个问题主要是mysql5.5以上的,基本上不是mysql宕机。因为5.5以上的数据库会有个链接超时配置 S!n 9A  
默认是28800秒也就是8个小时,会断开连接。 E#FyL>:.h  
解决方案: t=]&q.  
1.修改mysql配置。 %d9UWQ  
如果是linux服务器编辑mysql.cnf   执行vi /etc/mysql.cnf 9Yowz]')  
找到[mysqld] 在底下添加 k852M^JP  
interactive_timeout=28800000 <8 At =U  
wait_timeout=28800000 Rh%/xG#k  
多加了三个0  也就是8000个小时。基本就不用考虑连接超时 6Bp{FOj:Ss  
修改完配置后,记得重启mysql服务。 L&'0d$Tg8  
y=\jQ6Fc  
2.程序方面。 k[ Iwxl;/  
以java程序为例(抱歉只会java) oA~m*|  
打开Spring配置文件,修改applicationContext.xml d/(=q  
在datasource bean底下添加 0{Kl5>Z9M  
用来指定测试连接所使用的SQL语句。 dTaR 8i  
如果测试发现连接已经close,那么将自动重建连接。 685o1c|  
<property name="houseKeepingTestSql">   2`vCQV  
<value>SELECT 1</value> "=<l Pi  
</property> *ftJ(  
用来指定在使用连接之前要进行测试。 Ik1,?A  
<property name="testBeforeUse">   (`18W1f5W  
<value>true</value>   tb0XXE E  
</property>
%`}CbD6  
>UJ&noUD#:  
希望对大家有所帮助,讨论群http://url.cn/KLZKN9 &U xN.vl  
NI(`o8fN  
_'H<zZo  
GKY:"q&h  
P+3G*M=}  
本帖最近评分记录: 2 条评分 云币 +10
千鸟 云币 +5 不顶不舒服斯基 2014-04-29
kideny 云币 +5 1G以下的主机,不建议安装mysql5.5. 2014-04-23
发帖
1463
云币
1468
只看该作者 沙发  发表于: 2014-04-21
回 楼主(自娱自乐) 的帖子
赞楼主!
级别: 码农
发帖
148
云币
29
只看该作者 板凳  发表于: 2014-04-21
Re【阿里云解决方案】安装mysql5.5以上的经常会发现网站访问不到数据库
如果是RDS,该 怎么设置?
级别: 菜鸟
发帖
38
云币
101
只看该作者 地板  发表于: 2014-04-21
回2楼solidedge的帖子
RDS如果会出现这种问题 那只能用程序来解决
级别: 码农
发帖
148
云币
29
只看该作者 4楼 发表于: 2014-04-21
回3楼自娱自乐的帖子
我以为RDS也需要设置呢,找了半天没找到地方设置,我使用的是长连接,应该是没事吧`
级别: 科学怪人
发帖
9985
云币
21873

只看该作者 5楼 发表于: 2014-04-23
这个必须要顶,我后悔死升级mysql5.5了,一点毛用都没有。
级别: 技术砖家
发帖
941
云币
3438
只看该作者 6楼 发表于: 2014-04-27
这个纯属程序设计不合理,跟mysql没半毛钱关系,设置过长的超时时间只会导致连接数可能被占满导致无法连接,正常的程序在断开连接后就应该主动closed,避免连接持续sleep,8小时的超时时间已经很长了
级别: 码农
发帖
214
云币
236
只看该作者 7楼 发表于: 2014-04-28
不错不错
级别: 小白
发帖
1
云币
1
只看该作者 8楼 发表于: 2014-04-28
Re【阿里云解决方案】安装mysql5.5以上的经常会发现网站访问不到数据库
最近老是出错,到底怎么解决啊
级别: 分析狮
发帖
1559
云币
5022
只看该作者 9楼 发表于: 2014-04-29
不顶不舒服斯基
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个