QT MySQL连接自动断开

参考链接

MySQL链接10天后自动断开解决方案:<https://blog.csdn.net/xiaoxiao133/article/details/123006881

方式一

QT中可以通过自动重连的方式进行配置,如下所示:

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

代码如下所示:

QSqlDatabase *db = QSqlDatabase::addDatabase(ServerConfig::SqlDrivetype, SqlName);
/* 当数据库断开后,自动重连 */
db->setConnectOptions("MYSQL_OPT_RECONNECT=1");
/* 设置数据库连接参数 */
db->setHostName(ServerConfig::SqlServerIp);
db->setDatabaseName(ServerConfig::SqlDatabaseName);
db->setUserName(ServerConfig::SqlUserName);
db->setPassword(ServerConfig::SqlPassword);
db->setPort(ServerConfig::SqlServerPort);

方式二

修改MySQL的配置文件 /mysql/mysql.conf.d/mysqld.cnf, 在[mysqld]后面加上如下两句话

interactive_timeout=288000000
wait_timeout=288000000

注意:这样的方式比较占资源,一些不用的连接不会断开

posted @   浇筑菜鸟  阅读(819)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示