* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
一、来自MySQL官方的感谢
在 2023-10-25 MySQL 官方发布的 8.2 版本 Release Notes 中,GreatSQL 社区核心开发者 Richard Dang 和 Hao Lu ,分别收到了来自 MySQL 官方的贡献感谢,与Amazon、Facebook(Meta)、Tencent等一并出现在感谢清单中。详见:
- MySQL 8.2 Release Notes / Changes in MySQL 8.2.0 (2023-10-25, Innovation Release):https://dev.mysql.com/doc/relnotes/mysql/8.2/en/news-8-2-0.html
- MySQL 8.2.0 is out ! Thank you for the contributions !!https://blogs.oracle.com/mysql/post/mysql-820-is-out-thank-you-for-the-contributions
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_DengYl➥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 prepasred 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
9、MySQL Server: Information schema
- 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
15、MySQL Server: Performance Schema
- 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社区月报 | 2023.10
「MySQL 5.7 停服讨论区」上线,来这里畅所欲言~
图形化探索:快速改造单实例为双主、MGR、读写分离等架
GreatSQL 社区加入 OpenCloudOS 操作系统开源社区,完成技术兼容互认证
图文结合丨Prometheus Grafana GreatSQL性能监控系统搭建指南(下)
<关于 GreatSQL>
GreatSQL 是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为 MySQL 或 Percona Server 的可选替换,用于线上生产环境,且完全免费并兼容 MySQL 或 Percona Server。
GreatSQL社区官网: https://greatsql.cn/
Gitee: https://gitee.com/GreatSQL/GreatSQL
GitHub: https://github.com/GreatSQL/GreatSQL
Bilibili:https://space.bilibili.com/1363850082
想看更多技术好文,点个“在看”吧!