https://github.com/MyCATApache/mycat2
https://gitee.com/MycatOne/Mycat2
1.22开发任务
1.新路由配置
2.允许不配置原型库的情况下启动
3.完善drop表的功能
4.新的分片算法
v1.22-release-6-15
1.修复native模式update/insert发生出现阻塞的问题
v1.22-release-6-14
1.优化blob接收逻辑
2.修复存储过程只能接收一个结果集的问题
v1.22-release-6-13(供某些用户测试)
1.支持设置Mycat会话的网络缓冲区
2.修复下推全局表后,数据分片中的分片条件丢失的问题
3.优化字段的非空属性判断逻辑
v1.22-release-6-9(供某些用户测试)
1.修复某些情况忽略主从心跳异常导致主从切换失败
2.支持SQL类型的权限拦截
v1.22-release-6-7(供某些用户测试)
1.修复单表路由(HackRouter)出现duplicate key错误
2.自动检查不活动的后端连接并回收
在datasource.json的removeAbandonedTimeoutSecond控制,默认180秒,不活动(没有sql操作)自动回收
3.支持clickhourse后端数据源(打包内置),使用的驱动是
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.3.2</version>
</dependency>
xx.datasource.json
{
"dbType":"clickhouse",
"type":"JDBC",
"url":"jdbc:clickhouse://192.168.28.128:8123"
...
}
clickhourse后端数据源只支持select语句和insert语句,没有自增值返回
v1.22-release-6-2
1.修复HTTP实现的分片算法,使用截断表语句,失效
2.修复使用native模式,出现ArrayStore异常
v1.22-release-5-29
1.修复BKAJOIN报错
v1.22-release-5-27
1.提供基于HTTP调用实现的分片算法(测试)
v1.22-release-5-26
1.修复涉及BKAJOIN回表的情况下,生成的sql条件会全表扫描
2.修复生成sql带有重复字段,导致查询报错#706
3.升级BKAJOIN的条件生成算法,支持更多条件下推
v1.22-release-5-25
1.修复涉及回表的情况下,行类型不匹配,全局二级索引没有生效
v1.22-release-5-24
1.分片表支持12.修复全局索引表数量大于1的时候,无法使用全局索引表
3.修复BKAJOIN执行计划报错以及优化BKAJOIN的执行计划生成
4.新增全局表自增序列号的插入的三种方式
5.支持设置会话粘滞时间
6.user.json配置支持rsa加密(zyw提交代码)
v1.22-release-5-17
1.修复drop表,在自动加载单表的情况下,需要执行两次
2.修复spm初始化的时候报编码错误
v1.22-release-5-12
1.修复单表路由处理with子句的时候报错#697
2.完善drop表的功能(深圳-木先生-测试报告)
v1.22-release-5-11
1.修复分片表不写分片条件或者全表扫描的时候,使用mysql index hint生成的sql错误#695
2.修复mycat库下的表没有主键,导致某些集群类型无法同步#698
v1.22-release-5-10
1.完善drop逻辑表,这个版本之后会删除存储节点的数据
2.完善alter语句,支持自定义分片算法的分片表,自定义存储节点的单表/全局表,但不支持全局二级索引表
v1.22-release-5-9
1.添加mysql后端连接泄露检查的功能(见数据源配置)
2.修复xa事务在不涉及跨库事务的情况下升级到了xa事务的问题(proxy事务没有影响)
3.修复xa事务在不跨库事务下保留了后端连接,导致读写分离失败以及后端连接因为长时间不活动被mysql关闭后,出现mycat的旧连接没有响应的情况(proxy事务没有影响)
4.添加若干个用于检查连接泄露的debug级别日志
v1.21-release-5-9
该版本合拼了1.22分支的代码与1.22没有区别
v1.22-release-5-8
1.支持会话粘滞
2.支持PHP-Admin(可能遇到获取不了表的情况,可以改动PHP-Admin的源码实现过滤没有表名)
3.完善全局序列号,null和0值的替换为自增值
v1.21-release-5-7
1.修复PHP-Admin执行SELECT
SCHEMANAMEFROM
INFORMATION_SCHEMA.
SCHEMATA`, (SELECT DB_first_level FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, ‘‘, 1) DBfirst_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t ORDER BY DB_first_level ASC LIMIT 0, 100) t2 WHERE TRUE AND 1 = LOCATE(CONCAT(DB_first_level, ‘‘), CONCAT(SCHEMANAME, ‘‘)) ORDER BY SCHEMA_NAME ASC;`
错误
原因是优化器在CBO阶段对JOIN排序获取行数报错
v1.22-release-5-5
1.修复回滚事务或者强制放弃druid jdbc连接有可能连接泄露,主要原因是druid强制放弃连接没有关闭连接
v1.21-release-5-5
1.修复回滚事务或者强制放弃druid jdbc连接有可能连接泄露,主要原因是druid强制放弃连接没有关闭连接
v1.22-release-4-27
1.修复偶然回滚事务发生空指针错误导致连接泄露
v1.21-release-4-27
1.修复偶然回滚事务发生空指针错误导致连接泄露
v1.22-release-4-26
1.修复TBPARTITION BY RIGHT_SHIFT 分表不均匀 #682
v1.21-release-4-26
1.修复TBPARTITION BY RIGHT_SHIFT 分表不均匀 #682
v1.22-release-4-22
1.insert语句的duplicate子句不限制表达式#678
v1.22-release-4-21
1.分片表与全局二级索引表的insert语句支持duplicate子句
v1.21-release-4-20
1.修复分片表describe 逻辑表在sqlyog报错
2.修复update语句对全局二级索引表没有进行set列剪裁以及出现参数化错误#673
v1.22-test-4-15
1.修复show databases,使用单表覆盖information.schemata表,出现语法错误
2.修复全局二级索引使用二级索引字段报错#668
v1.21-release-4-15
1.修复show databases,使用单表覆盖information.schemata表,出现语法错误
2.修复全局二级索引使用二级索引字段报错#668
v1.22-test-4-14
修复虚拟表information.tables/information.columns因为生成的建表语句的库名表名带有关键字而不带``导致解析错误,这个错误不影响正常使用
v1.21-release-4-14
修复虚拟表information.tables/information.columns因为生成的建表语句的库名表名带有关键字而不带``导致解析错误,这个错误不影响正常使用
v1.22-test-4-8
修复schema.json使用targetName批量加载物理表不支持库名带有-
修复delete/insert/update语句不支持库名带有-
v1.21-release-4-8
修复schema.json使用targetName批量加载物理表不支持库名带有-
修复delete/insert/update语句不支持库名带有-
v1.22-test-4-7
- 修复
SELECT * FROM A WHERE aid IN (SELECT DISTINCT aid FROM B)
报错,B为分片表,aid是非唯一字段,A是单表
- 添加jooq实现SQL方言翻译器包装非mysql数据源
v1.21-release-4-7
- 修复
SELECT * FROM A WHERE aid IN (SELECT DISTINCT aid FROM B)
报错,B为分片表,aid是非唯一字段,A是单表
B为分片表,aid是非唯一字段,A是单表
v1.21-release-4-1
支持分片表下推json运算符->
v1.22- test-4-1
支持分片表下推json运算符->
v1.21-release-3-30
逻辑库支持带有-字符
v1.22- test-3-30
逻辑库支持带有-字符
v1.21-release-3-25
1.支持xxx.user.json设置事务隔离级别
2.去掉JDBC管理器总是设置autocommit/事务隔离级别,为了提交性能以及解决事务隔离级别问题
3.解决旧版本驱动(5.1.35)连接Mycat报以下错误
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (23 > -1). You can change this value on the server by setting the max_allowed_packet’ variable.
v1.22- test-3-25
1.支持xxx.user.json设置事务隔离级别
2.去掉JDBC管理器总是设置autocommit/事务隔离级别,为了提交性能以及解决事务隔离级别问题
3.解决旧版本驱动(5.1.35)连接Mycat报以下错误
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (23 > -1). You can change this value on the server by setting the max_allowed_packet’ variable.
v1.22- test-3-22
1.单表/全局表的delete/replace 语句支持join
2.支持PartitionByDateEx分片算法
3.支持rewriteInsertBatchedStatementBatch参数,用于提高批量插入性能
v1.21- release-3-22
1.单表/全局表的delete/replace 语句支持join
2.支持PartitionByDateEx分片算法
3.支持rewriteInsertBatchedStatementBatch参数,用于提高批量插入性能
v1.22- test-3-15
1.JDBC简单查询性能比1.21有提升,大约是5000-7000 qps 4核机器 16g内存
2.支持native直连,简单查询8000-11000 qps 4核机器 16g内存
3.支持BINLOG同步追平
4.支持全量数据迁移
5.安全停机sql限流update insert支持复杂查询
1.21-release-3-14
1.修复预处理语句execute接收Date类型值报错
2.单个MycatView执行SQL的获取连接会根据FULL_TABLE_SCAN_LIMIT进行限制,FULL_TABLE_SCAN_LIMIT是最大连接数量
3.修复慢SQL记录,在旧版本MySQL5.6上面因为字符集不支持报错的问题
4.新建全局表可以自动使用prototype
5.server.json支持asyncDDL属性,涉及刷新表配置可以异步执行
6.修复show collation报错
7.修复跨节点JOIN,某些合拼跨库节点在mycat首次启动执行的时候有可能发生死锁
8.添加线程运维类注释
9.实现kill报文的语义
10.server.json添加pushShowOnPrototype属性实现下推show语句的功能
11.单表支持update join
12.修复Colocated下推丢失mysql注释
1.21-release-3-3
1.useProxyProtocol:true|false
支持HAProxy ProxyProtocol协议
2.fullTableScanException:true|false
检查到全表扫描就抛异常
3.移除一些没有用的依赖包
4.通过更改打包插件,解决类加载错误的问题
5.支持TCP试探连接不会输出日志,对SLB友好
6.
/*+ mycat:showConnections{}*/ 支持显示正在执行的SQL
1.21-release-2-28
1.修复上一个错误的错误信息,会延续到后一个查询
不影响查询结果,错误信息说明曾经发生过错误,提示作用
2.更新fastjson版本到1.2.79
3.更新mysql-connector-java到8.0.25
4.更新guava到31.0.1-jre
5.
{
"ip": "127.0.0.1",//建议为空,填写后会对客户端的ip进行限制
"password": "123456",
"transactionType": "proxy",
"username": "root",
"schema":"db1"//如果客户端没有指定默认库,则使用此配置的逻辑库
}
6.支持IN schema语法替代use语法(临时的功能)
IN db1;/切换默认库,IN是大写
第5,6点都是为了临时解决某些mysql客户端不加-A参数连接的情况下,避免在use schema的时候发生阻塞的问题
1.21-release-2-25
1.修复BEGIN;(大写)识别为BASELINE命令导致开启事务报错(C#客户端)
2.修复2-24号实现的无表SQL下推导致的锁函数失效
3.支持无表SQL下推
4.修复不写别名情况下,select ‘x’的字段名带有’’
1.21-release-2-24
1.适配C#客户端
) 自动从dataNode中查询建表语句
简化配置 ShardingType可以不写,默认自然分片](https://github.com/MyCATApache/Mycat2/commit/706262328682d490c850742f6f4c70d46c0e39ab))
添加插入语句中出现未知字段的提示](https://github.com/MyCATApache/Mycat2/commit/d1bf9a01caa3440928f49427a48264a27802e9c0))
修复caclite 内部类型为数字的日期类型 类型转换问题](https://github.com/MyCATApache/Mycat2/commit/c883f60366d69acc6048995b653d3b5c50e52728))
通过判断是否存在初始化语句加速jdbc获取连接](https://github.com/MyCATApache/Mycat2/commit/b1438d34e698f8ab884675319a5f16a715da98c7))
修复boolean类型转换](https://github.com/MyCATApache/Mycat2/commit/8d9bf7e9ed2abfbfd74bf917695bac350e3f53c7))
show @@backend.replica](https://github.com/MyCATApache/Mycat2/commit/d7285cfd4eb24d8b9713a73578fa0e99f4b4c78f))
show @@backend.datasource 可以显示连接使用数量](https://github.com/MyCATApache/Mycat2/commit/e3aa295288ed15a2b782941ba042a5cf4d3e43fa))
实现show @@connection](https://github.com/connection)@connection)
实现show @@backend.native](https://github.com/MyCATApache/Mycat2/commit/1f0467131d4b30fc548fc0c66811bc8414cbec99))
2020.6.8-> 2020.6.14日志
修复读写分离在跨库情况下有异常
支持枚举类型(以字符串对待)
修复时间类型转换错误
修复sqllog下mycat自研的show column命令导致的崩溃
重构路由,可以支持分片算法返回dataNode
强制native(proxy)使用NativePassword](https://github.com/MyCATApache/Mycat2/commit/a135181457554199aa072a8f8f097faa6cefa15e))插件,而不再自动可以切换为其他插件
使用druid作为数据源的时候可以使用本地事务
添加本地事务配置例子(druid)
修复使用jdbc查询返回IllegalArgumentException();](https://github.com/MyCATApache/Mycat2/commit/9afe0dde62912da22839cf040bbc9e06690a5d32))
忽略SET TRANSACTION READ WRITE;](https://github.com/MyCATApache/Mycat2/commit/1aa50549d1ce4f4467150065314739306cb7ea42))
带有InformationSchema的表的sql发送到后端数据库](https://github.com/MyCATApache/Mycat2/commit/f3ee1fa64d27ae472dc095479a0f93cefd6c8b4b))
修复xa测试主键冲突](https://github.com/MyCATApache/Mycat2/commit/6c5cc719ccc075a4828a208b560d52dc8735924b))
暂时禁用show tables因为mysql8客户端不兼容此实现](https://github.com/MyCATApache/Mycat2/commit/6926e67a5b84946a83343f6be61c0ffd6acc23f1))
禁用jdbc设置readOnly](https://github.com/MyCATApache/Mycat2/commit/6f9ce86a21c8d2221ff561522dd40a5b64cb2455))
禁用UnionPullUpConstantsRule](https://github.com/MyCATApache/Mycat2/commit/00454390f52b34c6bb9535347fb6cc0d51d05374))
1.08-2020-6-7
修复只能拉取两个数据源的问题
跨分片查询性能大幅提高
查询引擎的行为变更
前:
在事务内,遇上重复拉取同一的数据源计划,使用临时表方案保存同一个数据源的数据
会下推union运算
后:
总是并行拉取数据
不会下推union运算
1.07-2020-6-2
完成booster功能
1.06-2020-5-28
适配mysql workbench
修复jdbc并行后拉取多于两个数据源的连接的结果集是空的情况
1.06-2020-5-27
完善对分片字段在字符串类型下出现cast节点导致无法找到分片值的情况
完善枚举分片
1.06
jdbc拉取数据并行化
数据源支持type属性
reuqestType属性改名为reuqestType
1.05
配置变更实现自动路由
1.04
稳定的手动路由版本
1.03
修复客户端偶然不能登录
添加小型正则表达式实现
提交读写分离测试
修复单独使用SELECT next_value_for(‘db1_travelrecord’)无法获得全局序列号
修复读写分离,executeType query master路由到非主节点
相比于1.02,
1.修复某些情况xa没有自动开启
2.完善主从集群切换
1.02
完善日志
完善安装包
1.01
存在execute QUERY_MASTER情况下仍然路由到从节点的问题