参考链接:qt数据库连接的断线重连 -CSDN论坛qt数据库连接的断线重连https://bbs.csdn.net/topics/394490272qt mysql 断开重连问题_透明-CSDN博客Qt Mysql超时断开后自动重连完美解决方法 网上找了很多解决办法,几乎没有一个能完美解决问题的,大体都是首先执行一段query后看返回结果,但这个办法也太无用和耗费资源了吧...因为断开后isOpen和isValid都会返回true,所以不能从这里入手,搜了一下其他软件的解决方法,Mysql倒是有个Option可以设置,将MYSQL_OPT_RECONNECT设置为1即可以自动重连

MySQL为什么莫名其妙的断开连接以及解决方案_月伴飞鱼-CSDN博客_mysql自动断开连接前言最近遇到在将本地的项目部署到服务器上之后遇到的一个奇怪问题在部署完成后,网站当时可以正常工作,但是第二天访问网站的时候却会遇到一个500 Server Error。从日志中可以看出是MySQL数据库出现了异常翻译:最后一个数据包在 83827560 ms 之前被成功接收,最后一个数据包在83827560 ms 之前被成功发送。比服务的配置参数wait_timeout的值要长。日志中给出的建议如下翻译:你应考虑在程序中进行数据库操作之前检验数据库连接的有效性或者将数据库的auto

1、如果是MySql方式的话可以试试这个。

QSqlDatabase dbConnLocal = QSqlDatabase::addDatabase("QMYSQL", connNameLocal);
 dbConnLocal.setConnectOptions("MYSQL_OPT_RECONNECT=1");

2、设置配置文件:

Linux系统配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]后面加上如下两句话 
interactive_timeout=288000000
 wait_timeout=288000000