一、来自MySQL官方的感谢
在 2023-10-25 MySQL 官方发布的 8.2 版本 Release Notes 中,GreatSQL 社区核心开发者 Richard Dang 和 Hao Lu ,分别收到了来自 MySQL 官方的贡献感谢,与Amazon、Facebook(Meta)、Tencent等一并出现在感谢清单中。详见:
Richard Dang
Richard Dang 发现在 MySQL 8.0.29 中,如果一个 MySQL 表具有在 8.0.29 版本之前添加的 INSTANT ADD 列(从该版本开始不允许),并且在 MySQL 升级到高于 8.0.29 的版本后,对这些表执行 DML 语句将导致服务器意外关闭。
在将此情况上报给 MySQL 上游社区的同时,他还对此 BUG 进行了详细研究,在 GreatSQL 社区公众号上发表了一篇文章:“MySQL 8.0.29 instant DDL 数据腐化问题分析 ”,并在最后给出了该 bug 的修复方案。大家有兴趣可以前往浏览~
Hao Lu
Hao Lu 则在 MySQL 8.0.30 中发现,针对首次调用后未正确执行的存储程序的先前修复,会发生无法涵盖其中包含 SET 语句的情况。
二、Contributions By GreatSQL
除本次收到的两个 MySQL 官方感谢反馈贡献之外,事实上 GreatSQL 社区一直在坚持技术的研究与创新,致力于开发优化更好的数据库产品。数位GreatSQL核心研发团队成员已累计向 MySQL 社区提交多个重要 BUG 反馈,默默的进行着技术贡献与积累。
GreatSQL是基于Percona Server的MySQL分支,具备高性能 、高可靠 、高易用性 、高安全 等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。
GreatSQL在以下几个方面对MySQL进行大刀阔斧改进提升,选择GreatSQL让线上业务系统更流畅、更安心。
高性能
支持InnoDB并行查询,适用于轻量级OLAP应用场景,在TPC-H测试中平均提升15倍,最高提升40+倍。 优化InnoDB事务系统,实现了大锁拆分及无锁化等多种优化方案,OLTP场景整体性能提升约20%。 支持并行load data,适用于频繁导入大批量数据的应用场景,性能可提升约20+倍。 支持线程池(thread pool),降低了线程创建和销毁的代价,保证高并发下,性能稳定不会明显衰退。
高可靠 。GreatSQL针对MGR进行了大量改进和提升工作,进一步提升MGR的高可靠等级。
地理标签,提升多机房架构数据可靠性。 读写节点动态VIP,高可用切换更便捷。 仲裁节点,用更低的服务器成本实现更高可用。 快速单主模式,在单主模式下更快,性能更高。 智能选主,高可用切换选主机制更合理。 全新流控算法,使得事务更平稳,避免剧烈抖动。 优化了节点加入、退出时可能导致性能剧烈抖动的问题。 解决磁盘空间爆满时导致MGR集群阻塞的问题。 解决了长事务造成无法选主的问题。 优化事务认证队列清理算法,规避每60s抖动问题。 修复了recover过程中长时间等待的问题。
高易用性 。支持多个Oracle兼容性,包括CLOB、VARCHAR2数据类型,DATETIME运算、ROWNUM、子查询无别名、EXPLAIN PLAN FOR等语法,以及ADD_MONTHS()、CAST()、DECODE()等17个函数。在即将发布的GreatSQL新版本中,会更加更多Oracle兼容数据类型、函数、语法、存储过程等特性,进一步降低用户迁移成本。
高安全性 。支持逻辑备份加密、CLONE备份加密、审计日志入表、表空间国密加密等多个安全提升特性,进一步保障业务数据安全,更适用于金融级应用场景。
三、展望未来
未来,社区将继续深耕数据库技术领域,以技术为基进行开发优化, 打造更稳定、更流畅、更好用的 GreatSQL 开源数据库。同时,社区目前也在持续招募代码、文档、博客等多方面的贡献者,共同建设 GreatSQL 社区!
附录:GreatSQL社区贡献清单
1、MySQL Server: Replication
Bug #93809 lost a whole file's gtid_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=93809 Bug #93978 XA COMMIT success with same xid_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=93978 Bug #99628 semi sync master not handle ack packet correctly when recv packet timeout_lou shuai ➥https://bugs.mysql.com/bug.php?id=99628 Bug #107310 create user with comment lead replication error_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=107310
2、MySQL Server: Group Replication
Bug #98151 group replication with wrong member_state after server shutdown_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=98151 Bug #98643 group replication will be block primary node shutdown_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=98643 Bug #99689 member cannot add to group_replication cluster after failover_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=99689 Bug #100163 xa commit failed when stop group_replication will lead node error_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=100163 Bug #100299 secondly role cannot join to group_replication after fail-over_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=100299 Bug #101237 stop group_replicaiton may block long time when restart server_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=101237 Bug #101635 group_replication_local_address port overflow_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=101635 Bug #104629 wrong result when outer join prune partition tables with is null predicate_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=104629 Bug #107635 event scheduler cause error on group replication_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=107635 Bug #103040 minor fix for DEBUG message in XCOM_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=103040 Bug #100984 group_replication state become error when fail-over node restart_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=100984 Bug #101901 select performance_schema.replication_group_member_stats assert in release mode_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=101901
3、MySQL Server: XA transactions
Bug #94130 XA COMMIT may lead replication broken_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=94130 Bug #98288 xa commit crash lead mysql replication error_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=98288 Bug #99205 xa prepare write binlog while execute failed_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=99205 Bug #100156 XA COMMIT still work after stop group_replication_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=100156 Bug #102661 xa prepare failed lead replication error_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=102661
4、MySQL Server: InnoDB storage engine
Bug #99638 xa transaction with low performance_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=99638 Bug #87884 MySQL 5.7.15 hangs when executing truncate table_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=87884 Bug #87299 mysql crash sometimes_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=87299 Bug #84488 InnoDB: Failed to create check sector file_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=84488 Bug #107044 server exit after alter table discard tablespace_Deng Yl ➥https://bugs.mysql.com/bug.php?id=107044 Bug #105271 When the innodb_system tablespace is full, sometimes directly coredump_Deng Yl ➥https://bugs.mysql.com/bug.php?id=105271 Bug #111823 crash upgrade to 8.0.32/8.0.34 if tables in mysqldb has instant column_Richard Dang ➥https://bugs.mysql.com/bug.php?id=111823
5、MySQL Server
Bug #99679 stop group_replication will assert_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=99679 Bug #82830 Load data error 1262 behaviour different between 5.6 and 5.7 under strict sqlmod_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=82830
6、MySQL Server: Optimizer
Bug #100028 LIKE behavior is not same_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=100028 Bug #100800 wrong result when select int column with range_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=100800 Bug #100783 wrong result with hash join_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=100783 Bug #98718 explain anaylze select count() from mysql.user coredump under debug version_* Lou Shuai**➥https://bugs.mysql.com/bug.php?id=98718 Bug #68154 explain output 'Using index condition' not proper_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=68154 Bug #107969 wrong result when search binary columns_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=107969 Bug #110801 prepared stmt of setting sp_var from subselect leads crash when re-create table_Hao Lu ➥https://bugs.mysql.com/bug.php?id=110801
7、MySQL Server: Partitions
Bug #101310 partition by key distribute unbalance for utf8_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=101310
8、MySQL Server: Options
Bug #101469 skip_name_resolve does not take effect_Phoenix Zhang ➥https://bugs.mysql.com/bug.php?id=101469
Bug #99094 coredump when install information schema plugin_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=99094
10、Connector / C++
Bug #99093 mysql-connector-cpp cmake files not work well when as a third party_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=99093
11、MySQL Server: Query Cache
Bug #70032 Query cache works for partition table if there is a derived table_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=70032
12、MySQL Server: Security: Privileges
Bug #64532 columns_priv record not clear or modify when table defination changed_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=64532 Bug #104732 In the case of using the role, there is a problem with the acl check of the view_Deng Yl ➥https://bugs.mysql.com/bug.php?id=104732
13、MySQL Server: Connection Handling
Bug #102669 incorrect comment in source code_Hao Lu ➥https://bugs.mysql.com/bug.php?id=102669
14、MySQL Server: DML MySQL
Bug #104201 Wrong result when compare 'null' with subquery result_Deng Yl ➥https://bugs.mysql.com/bug.php?id=104201 Bug #104250 kill query will case some mysql client block_Deng Yl ➥https://bugs.mysql.com/bug.php?id=104250 Bug #99639 Wrong behavior between insert and insert...select_Roger Lei ➥https://bugs.mysql.com/bug.php?id=99639 Bug #100053 Lost ULLONG_MAX value in table with type of bit(64)_Roger Lei ➥https://bugs.mysql.com/bug.php?id=100053
Bug #93592 mysql crash got signal 6 ,free(): invalid next size (normal):_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=93592
16、MySQL Server: DDL
Bug #111770 group replication lost transaction when import tablespace failed_Gang Liu ➥https://bugs.mysql.com/bug.php?id=111770 Bug #111888 'alter table xxx import tablespace' lead server crash_Gang Liu ➥https://bugs.mysql.com/bug.php?id=111888 Bug #112049 changing implicit pk leads crash after restart_Hao Lu ➥https://bugs.mysql.com/bug.php?id=112049
17、MySQL Server: Documentation
Bug #68177 innodb_log_file_size with wrong default value_Lou Shuai ➥https://bugs.mysql.com/bug.php?id=68177 Bug #112001 Wrong Authorized User_Haoyuan Zhang ➥https://bugs.mysql.com/bug.php?id=112001
Enjoy GreatSQL :)
关于 GreatSQL
GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。
相关链接: GreatSQL社区 Gitee GitHub Bilibili
GreatSQL社区:
社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html
社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html
(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)
技术交流群:
微信&QQ群:
QQ群:533341697
微信群:添加GreatSQL社区助手(微信号:wanlidbc
)好友,待社区助手拉您进群。