记录一个mysql服务端断开的问题

早上发现一个问题,客户端接收不到数据库的数据了。。。

环境是这样的,在公网上租了一个服务器,装了mysql并运行了一个服务程序,然后客户端为手机APP。APP与服务程序通过socket通信,服务程序会解析相关报文然后读取数据库并发送到客户端(服务程序在后台长期运行,与数据库长期连接)

通过查日志发现,客户端与服务程序的连接还在,但收到的数据却只有报头和报尾,也就是说数据库中的数据并没有读出来

这时候就想到是服务程序和数据库的连接除了问题,导致数据读不出来

找资料发现一个比较切合当前情况的现象,sqlserver如果发现连接长时间(默认八小时)没有使用,那么就会主动断开,主动断!主动断!

基于这种状况我想到以下几种解决方案:

1、将mysql的配置文件my.cnf修改如下:

即将连接超时的时间改大

2、在服务程序中定时操作数据库,保证连接一直不断

3、服务程序每次读写数据库时,先检测连接是否存在

 

番外

Linux中程序后台运行

nohup ./可执行程序名 > myout.file 2>&1 &

使用上述命令即可将程序放到后台长期运行,并且日志信息会保存在myout.file中

参考:https://www.cnblogs.com/zzyoucan/p/7764590.html

 

欢迎大家指教,希望大家喜欢

路漫漫其修远兮,同志仍须努力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xumingyifrend

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值