Replies: 7 comments
-
不了解, 这个返回是 goinception 的原样返回, 可以看看goinception 的支持情况. |
Beta Was this translation helpful? Give feedback.
-
sharding-proxy支持的语法可能不包含explain。我的疑问是做查询时候,为什么会explain呢?分库分表的需求越来越多,可以考虑下对这个中间件的支持吗? |
Beta Was this translation helpful? Give feedback.
-
emmm, 是查询吗? 没看清, 图没上传成功, 可以重新上传一下吗? 查询的时候是会用explain 去看语法是不是正确的. Lines 181 to 187 in 5e199a7 |
Beta Was this translation helpful? Give feedback.
-
是查询。sharding-proxy相当于一个针对分库分表而设计的中间件,该服务启动后,相当于一个mysql服务,可以通过ip,port,账号密码去连接,分片规则和实际的数据源在配置文件里。比如我们有两个库有分表,假设定义逻辑库名为A库,B库,真实的数据源信息在配置文件中,这里的数据源连接信息是否正常是在sharding-proxy服务启动时候会校验。对于客户端或者程序来说,只需要连sharding-proxy的ip,port,账号密码,连接上后,显示的库只有A,B。另外,sharding-proxy存在自己的控制语句语法。 所以存在如下问题: 建议加个判断,如果选择的实例是sharding-proxy的,去掉此语法校验,或者用其支持的语法: 2.上线SQL时候,如果进行增删改操作,会先访问mysql系统库,校验备份账号的权限,以建立类似主从关系拉取binlog进行备份,但是sharding-proxy不存在mysql,原因见前述。报错如下: 建议:获取该库连接的真实数据源进行binlog拉取;或者判断如果选择sharding-proxy实例,则不校验也不备份。 |
Beta Was this translation helpful? Give feedback.
-
感谢详尽的说明, 查询这方面代码就在 上面给出的链接中, 欢迎提pr修改这方面的逻辑. 上线的部分逻辑也在那个文件中, 是有一个原生执行的方法, 可以直接用原生执行. Lines 304 to 307 in 5e199a7 但我已经忘得差不多了, @hhyo 小圈圈帮忙看一下. 如果sharing-proxy 和原生mysql 有一些差别, 也可以考虑从 MysqlEngine 中继承, 新做一个 SharingProxyEngine , 这样所有的方法都可以重写. 可以直接把 execute_workflow 重写成原生执行. 这样就不用在代码层面做类型判断了. |
Beta Was this translation helpful? Give feedback.
-
查询这个你可以看下 上线那个goInception有新的版本,已经移除了默认的mysql连接 最好还是建议新增一个engine,继承mysql,改动不会太大 |
Beta Was this translation helpful? Give feedback.
-
您好,select 可以修改下就能 通过,那么针对 update 的 还怎么 修改呢 |
Beta Was this translation helpful? Give feedback.
-
问题描述
archery审核平台接入sharing-proxy后,在线查询中对逻辑表进行查询,显示不支持该语句。注意此处没有点执行计划,而是直接点的查询。同样的语句,通过其他客户端(如navicat)直连sharding-proxy服务可以正常查询的。
版本信息
Beta Was this translation helpful? Give feedback.
All reactions