c++ 连接mysql数据库,已经设置为自动重连,有没有人遇到过重连失败的

MySql 码拜 8年前 (2016-05-16) 2400次浏览
本人试了下一个小程序,是一个c++的,会连接一个mysql数据库,代码里设置了自动重连,程序会每隔2-3秒去做一次数据库查询,并打印查询结果!
测试时,先把程序跑起来,然后禁用网络,然后程序卡死,过个十多分钟后,本人把网络启用,然后程序连上了数据库,继续打印查询结果==》通过这一验证,本人觉得数据库的自动重连机制起作用了!
但是我们有个项目里的自动重连似乎失败了(本人听运维这么说的),就是说后来网络好的时候,连接还是那么2个,程序出错了!要进行数据库操作的语句都是放在一个自动增长的队列里的,所以理论上应该不会有数据丢失的情况!但事实是有数据库未保存进数据库,所以出错了!
想问下各位,有没有人同样遇到过这个问题,就是开了mysql的数据库重连(在代码里写好),然后在网络异常和恢复后,数据库连接并没有真正的连接上,导致程序出错的!谢谢大家!
解决方案

40

这个要具体代码具体分析吧,假如网络异常的话,你的数据缓存了,那么接下来是网络恢复后将数据写到数据库啊;
本人之前的公司的做法是写数据失败后,就把数据记录到一个sql文件里,拼成sql语句,定期的检查后,手工执行。
你好,本人想讨教下你,问一下下你有在linux下使用otl(odbc)链接mysql数据库么?批量插数据。

40

这个要看具体的代码,

20

引用:
Quote: 引用:

这个要具体代码具体分析吧,假如网络异常的话,你的数据缓存了,那么接下来是网络恢复后将数据写到数据库啊;
本人之前的公司的做法是写数据失败后,就把数据记录到一个sql文件里,拼成sql语句,定期的检查后,手工执行。
你好,本人想讨教下你,问一下下你有在linux下使用otl(odbc)链接mysql数据库么?批量插数据。

没有用otl

3Q,本人现在在尝试封装mysqlclient了,linux下不用odbc写数据库了。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c++ 连接mysql数据库,已经设置为自动重连,有没有人遇到过重连失败的
喜欢 (0)
[1034331897@qq.com]
分享 (0)