You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DataGrip2023.3.2连接ShardingSphere Proxy(MySQL8.0.28)无法显示表求助

解决方案

1. 调整SQL联邦模式(核心修复)

修改ShardingSphere Proxy的配置文件,将sql-federation-type从ADVANCED改为NONE:

localProxyServer:
  authority:
    users:
      - user: test
        password: 123456
        privilege:
          type: ALL_PERMITTED
  props:
    sql-federation-type: NONE

修改完成后重启ShardingSphere Proxy服务,再重新连接DataGrip即可正常查看表。

原因:ADVANCED模式下,ShardingSphere对MySQL 8.x的INFORMATION_SCHEMA.ROUTINES元数据查询做联邦计算时,无法正确处理排序逻辑,触发Unable to implement EnumerableSort错误。禁用SQL联邦模式可绕过该兼容问题。

2. 优化DataGrip元数据查询设置

如果不想关闭SQL联邦,可在DataGrip中调整元数据获取规则:

  • 打开DataGrip的连接配置,切换到「Advanced」标签页
  • 找到「Retrieve routines」选项,取消勾选,避免客户端触发INFORMATION_SCHEMA.ROUTINES查询
  • 保存配置后刷新数据库连接

3. 升级ShardingSphere Proxy版本

ShardingSphere 5.3.2存在MySQL 8.0.x系列的元数据查询兼容bug,升级至5.4.0及以上版本可修复该问题,同时保留SQL联邦功能。

4. 验证驱动一致性

确保ShardingSphere Proxy使用的mysql-connector-java版本与DataGrip客户端完全一致(当前均为8.0.28,此步骤可跳过,若后续出现其他问题可重新确认)。


问题背景回顾

  • 连接适配MySQL 8.0.28的ShardingSphere Proxy 5.3.2时,DataGrip/DBeaver连接成功但无法显示表,报错Unable to implement EnumerableSort
  • 连接适配MySQL 5.7.43的同版本Proxy可正常显示表
  • 环境:MySQL 8.0.28、ShardingSphere Proxy 5.3.2、DataGrip 2023.3.2,驱动均为mysql-connector-java-8.0.28.jar

内容的提问来源于stack exchange,提问作者xiaoche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:13:41