今天测试了一下Mycat中的MySQL随机函数,又发现一个这样的Bug
2016-12-10 22:38:39,109 [INFO ][$_NIOREACTOR-2-RW] close connection,reason:quit cmd ,ServerConnection [id=4, schema=TESTDB, host=127.0.0.1, user=root,txIsolation=3, autocommit=true, schema=TESTDB] (io.mycat.net.AbstractConnection:AbstractConnection.java:508)
2016-12-10 22:40:22,953 [WARN ][$_NIOREACTOR-3-RW] caught exception java.lang.IllegalArgumentException: all columns in order by clause should be in the selected column list!RAND()
at io.mycat.sqlengine.mpp.DataMergeService.onRowMetaData(DataMergeService.java:156)
at io.mycat.backend.mysql.nio.handler.MultiNodeQueryHandler.fieldEofResponse(MultiNodeQueryHandler.java:650)
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handleFieldEofPacket(MySQLConnectionHandler.java:192)
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handleData(MySQLConnectionHandler.java:118)
at io.mycat.net.handler.BackendAsyncHandler.offerData(BackendAsyncHandler.java:36)
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handle(MySQLConnectionHandler.java:80)
at io.mycat.net.AbstractConnection.handle(AbstractConnection.java:263)
at io.mycat.net.AbstractConnection.onReadData(AbstractConnection.java:321)
at io.mycat.net.NIOSocketWR.asynRead(NIOSocketWR.java:190)
at io.mycat.net.AbstractConnection.asynRead(AbstractConnection.java:273)
at io.mycat.net.NIOReactor$RW.run(NIOReactor.java:102)
at java.lang.Thread.run(Thread.java:722)
(io.mycat.backend.mysql.nio.handler.MultiNodeQueryHandler:MultiNodeQueryHandler.java:663)
2016-12-10 22:40:22,984 [INFO ][$_NIOREACTOR-3-RW] close connection,reason:java.lang.IllegalArgumentException: all columns in order by clause should be in the selected column list!RAND() ,MySQLConnection [id=28, lastTime=1481380822875, user=root, schema=db3, old shema=db3, borrowed=true, fromSlaveDB=false, threadId=25, charset=utf8, txIsolation=3, autocommit=true, attachment=dn3{SELECT *
FROM t_gaojs
ORDER BY RAND()
LIMIT 5}, respHandler=io.mycat.backend.mysql.nio.handler.MultiNodeQueryHandler@4f27a1, host=localhost, port=3306, statusSync=io.mycat.backend.mysql.nio.MySQLConnection$StatusSync@b2d7e8, writeQueue=0, modifiedSQLExecuted=false] (io.mycat.net.AbstractConnection:AbstractConnection.java:508)
2016-12-10 22:40:22,984 [INFO ][$_NIOREACTOR-3-RW] close connection,reason:java.lang.IllegalArgumentException: all columns in order by clause should be in the selected column list!RAND() ,MySQLConnection [id=15, lastTime=1481380822875, user=root, schema=db1, old shema=db1, borrowed=true, fromSlaveDB=false, threadId=20, charset=utf8, txIsolation=3, autocommit=true, attachment=dn1{SELECT *
FROM t_gaojs
ORDER BY RAND()
1)在Mycat中测试MySQL的随机函数
错误如下:
3)可以在非Mycat环境中执行的SQL语句
4)独创一条Mycat可以执行的SQL,可是结果不对
5)普通的Mycat环境根本不认识这个独有的SQL语句。
测试语句如下:
select * from t_gaojs ORDER BY RAND() limit 3
select * from t_gaojs ORDER BY id R1AND() limit 1
select * from t_gaojs ORDER BY id RAND() limit
相关推荐
### 基于MyCat的MySQL高可用读写分离集群实战知识点详解 #### 一、MyCat简介 MyCat作为一款开源的数据库中间件,它能够实现对后端多个MySQL数据库进行分片处理,为前端应用提供统一的访问接口。在实际应用中,...
基于mycat的mysql高可用读写分离,适合mysql进阶。比较实用的技术。
### MySQL与Mycat的读写分离 #### 一、MySQL主从配置 在了解如何实现MySQL与Mycat的读写分离之前,首先要掌握如何配置MySQL的主从复制。这是实现读写分离的基础。 ##### 开启MySQL主从数据复制 主从数据复制通过...
标题中的“mycat+mysql+jdbc实现根据手机号尾号分库分表存储”涉及的是分布式数据库中间件Mycat与MySQL数据库以及Java JDBC接口的结合使用。Mycat是一款开源的分布式数据库系统,用于解决大数据量、高并发的场景下的...
本文将深入探讨基于Mycat的MySQL主从配置与读写分离的详细步骤,并结合【心跳问题heartbeat bug #393】和【bug407:修复主从状态监控和读写分离】的修复进行讲解。 首先,理解Mycat的工作原理至关重要。Mycat作为...
《Mycat MySQL集群配置:实现按日分库与按月分库详解》 在大数据时代,单个MySQL数据库往往无法满足高并发、大数据量的处理需求,这时就需要借助于分布式数据库中间件来提升系统的扩展性和性能。Mycat作为一款开源...
Mycat高可用和Mycat实现MySQL高可用详解 Mycat高可用是通过KP+HA实现的,而MySQL高可用是通过Mycat实现的。下面将详细讲解Mycat高可用和Mycat实现MySQL高可用。 一、Mycat高可用 Mycat高可用是通过KP+HA实现的,...
基于Docker的Mycat分片及读写分离&Mysql两主四从搭建 - 使用一个t_test表做分片示意,分片规则使用mod-long - 使用一个t_task_test表做分片示意,分片规则使用sharding-by-murmur-orgcode - 采用mycat + mysql + ...
接着,配置 Mycat,将 MySQL 作为后端数据源,根据 `mycat2-install-template-1.21.zip` 中的模板修改 Mycat 的配置文件。最后,启动 Mycat 服务,就可以利用其强大的分布式数据库功能了。 总结来说,这个压缩包...
为了提升数据库的性能,本课程围绕MyCAT来实现对业务数据库的分库分表、读写分离,构建一个以MyCAT为核心的数据库集群架构,以企业级方案解决数据库出现的性能问题,做个数据库高手!
### 基于Mycat的MySQL主从读写分离配置详解与示例 #### 一、概述 在高并发的互联网应用场景下,单一数据库往往难以承受大量的读写请求,因此,采用主从架构实现读写分离是提高系统稳定性和响应速度的有效方法之一...
自己从淘宝上花5元购买的MySql集群搭建,读写分离,使用MyCat工具。如果能够帮助到你,麻烦给个好评谢谢!
目前mycat并不支持mysql8的连接,附件是经过修改源码,使其支持mysql8的连接;支持版本为mycat1.7. 将这个jar替换到mycat/lib中的Mycat-server-1.7.0-DEV.jar
mycat管理MySQL集群在我的文章中,进行了一系列的本地演示,但是博主还是建议大家先看我的前两篇文章,对MySQL集群进行进一步的了解,也让大家避开错误。我们使用mycat进行管理,也不是说我们使用这个mycat管理MySQL...
本篇文章将详细讲解如何在离线环境下,利用Mycat和MySQL搭建一个读写分离的集群。Mycat是一款开源的分布式数据库中间件,它能够实现数据库的水平扩展,而MySQL则是广泛使用的开源关系型数据库。 首先,我们来了解...
总结来说,这个集群环境通过MySQL提供数据库服务,Mycat进行数据分片和负载均衡,Keepalived确保主从切换的高可用性,而HAProxy则进一步增强了对外服务的负载均衡能力。这样的组合可以有效提升系统的稳定性和处理...