目前,我正在开发一个项目,将mysql与IOCP服务器集成,以收集传感器数据并验证从客户端收集的数据。
但是,有一种情况是mysql错过了连接。
查询本身是一个简单的查询,它插入一行记录或获取日期间隔之间的平均值。
每个传感器的数据每5秒同时流入DB。当传感器的消息偶尔出现或与客户端的消息重叠时,连接断开。
在查询期间失去与mysql服务器的连接
关于抛出上述信息
max_allowed_packet
数字已更改。
interactive_timeout
,net_read_timeout
,net_write_timeout
,wait_timeout
似乎如果存在重叠查询,则会发生错误。
如果您知道解决方案,请告诉我。
答案 0 :(得分:1)
我在MySQL服务器中遇到类似的问题,查询非常简单,并发查询的数量很多。我不得不禁用查询缓存来解决问题。您可以尝试使用以下语句禁用查询缓存。
SET GLOBAL query_cache_size = 0;
SET GLOBAL query_cache_type = 0;
请注意,重新启动服务器将再次启用查询缓存。如果需要保留配置,请将配置放在MySQL配置文件中。
答案 1 :(得分:0)
您可以在命令下运行并检查当前超时吗?
SHOW VARIABLES LIKE '%timeout';
如果需要,您可以更改超时 -
SET GLOBAL <timeout_variable>=<value>;