Mycat源码修改MongoDB使用问题记录合集
来源:互联网 发布:火线精英战斗匕首数据 编辑:程序博客网 时间:2024/05/20 10:24
mycat作为数据库中间件也有一定的问题,在使用过程中不免会遇到各种各样的问题,基于此我们将有关的问题都做一个记录以备作FAQ查看。以下问题是针对MongoDB修改使用而提出的,请对号入座。mycat官方问题列表:https://github.com/MyCATApache/Mycat-Server/issues
问题0:mycat 源码修改后打的jar包替换后不起作用
问题1:mycat 大批量查询挂起,所有连接断开后恢复
这种是大数据查询,出现无响应挂起,客户端终止也没用。详情有待DBA收集日志。
问题2:网关写入mycat(正常),mysql有时报错
Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed. ---> System.IO
.EndOfStreamException: 尝试读取超出流末尾的内容。
解决方法:建议将mysql写超时时间设长一点。
问题3:其它查询都正常为何这个查询语句就是查不出来结果
注意:我们不要在字段里面包含关键字,有些字段分割如AND、IN、OR等关键字可能导致条件解析时异常。
解决方法:排查WHERE后面的条件,字段里面最好不要夹杂关键字。
问题4:条件或——OR查询是一个奇葩,偶尔有结果大多数时候是空结果集
加了OR 条件的查询返回结果集为空,or是一个集合条件,来看看MongoDB Shell的操作:
db.getCollection("goods").find({ "$or" : [ { "user" : "jhon"} , { "owner" :"jhon"}]})我们习惯于 a=1 or a=20 这样的SQL语句,必须解析条件or才能实现,不妨自己做做实验。可以参考:http://blog.csdn.net/boonya/article/details/77530263
MongoDB客户端测试:
db.getCollection('T_SUBTABLE_DATE_20170801').find({"$or":[{"F_TIME":{"$gte":"2017-08-01 06:00:00","$lte":"2017-08-01 08:00:00"}},{"F_SEX":"female"}]});
MongoDB源码里面支持的:
大多数情况:
偶尔出现:
因为不稳定,还是尽量避免使用OR查询。
问题5:大数据查询手动停止导致mycat服务瘫痪不可用【已解决】
大数据表或全表查询 :查询过程中手动停止会有问题(可以等待自动超时), 手动停止后mycat服务虽然保持但是实际上已经不对外提供服务了 ,这就是为什么服务存活而连不上的原因 , BUG处理方式请参考:mycat issue 1616。
阅读全文
0 0
- Mycat源码修改MongoDB使用问题记录合集
- mongoDB问题合集(持续更新)
- MongoDB技术合集
- MongoDB常用命令合集
- 数据库中间件 MyCAT 源码分析 —— SQL ON MongoDB
- MyCAT 源码分析 —— SQL ON MongoDB
- Mycat对MongoDB分表后Navicat访问测试问题
- mongodb集群问题记录
- Mongodb源码分析--删除记录
- Mongodb源码分析--更新记录
- Mongodb源码分析--删除记录
- Mongodb源码分析--更新记录
- Mongodb源码分析--更新记录
- Mongodb源码分析--删除记录
- Mongodb源码分析--更新记录
- Mongodb源码分析--删除记录
- Mongodb源码分析--删除记录
- Mongodb源码分析--更新记录
- java中synchronized的作用
- sublime 实现浏览器预览功能
- java 动态规划策略原理及例题
- centos5.8 解决中文乱码
- DX11编程之计算着色过滤器
- Mycat源码修改MongoDB使用问题记录合集
- leetcode 16. 3Sum Closest
- ArcGIS API for JavaScript实现地图常用工具条 距离测量,面积测量
- Eclipse工程中java文件上有小问号的原因和解决办法
- STM32F4学习笔记4——外部中断
- 如何通过Git命令行把代码提交到github上
- 二次封装AFNetworking的网络请求
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
- Python UDP和TCP的通信过程