吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1210|回复: 7
收起左侧

[求助] 【已解决】MySQL求助

[复制链接]
柯子 发表于 2021-7-12 16:35
本帖最后由 柯子 于 2021-7-13 09:31 编辑

情况说明:Java项目使用mysql数据库,连接池选择的是druid,中间件使用mycat做读写分离。目前遇到问题,在项目中做查询时,会报如下错误:
[Shell] 纯文本查看 复制代码
Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.

在Navicat中直接查询信息则更简单:Lost connection to mysql  server during query;
使用了递归的sql都会报这个错,其余sql正常,以下是问题sql:
[SQL] 纯文本查看 复制代码
        SELECT id from qypt_merchant where uid in
        (
            SELECT user_id from sys_org_user where org_id in(
                with RECURSIVE p2c as(
                 select so.org_id from sys_org so where so.org_id  = #{orgId}
                 union
                 select c.org_id from sys_org c, p2c where c.parent_id  = p2c.org_id
                )
                select * from p2c
            )
        )


奇怪的点在于,项目或者Navicat中直接连接mysql是不会报错的,但是一旦使用mycat去连接,就一定报错!!!
已经百度查过,设置相关过期时间等、删除group by规则、更换驱动版本皆无效,恳请大佬们看清后再回复。
已经一天了 还是没头绪解决。。。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

thm 发表于 2021-7-12 16:44
都是高手,前来学习
dyzcs 发表于 2021-7-12 17:00
有很多种情况造成你这种现象,但是最根本的就是在你启用连接池时,进行查询随机选择的这一个JDBC连接已经是失效或者是关闭的。

首先你可以多次进行查询看看有没有可能成功,如果多次尝试有成功的可能,说明你的连接池中有失效连接,那么每次连接操作数据库时,检测该连接是否有效,或者缩短监控空闲线程的时间。
sunhuixyr 发表于 2021-7-12 17:01
lix909 发表于 2021-7-12 18:29
先写单条查询语句试下,用mycat是否正常。
MrTong 发表于 2021-7-12 19:42
应该是超过连接数了 配置中增加最大连接数
 楼主| 柯子 发表于 2021-7-13 09:30
本人已解决,问题不在于连接数或者mycat配置,连接数那些是被报错信息误导了,因为mycat使用已有一段时间,现在才遇到这种问题。
解决方法:1.升级mycat的jdbc驱动版本 2.升级druid版本。希望能够帮到大家。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 01:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表