一、来自MySQL官方的感谢

在 2023-10-25 MySQL 官方发布的 8.2 版本 Release Notes 中,GreatSQL 社区核心开发者 Richard DangHao 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让线上业务系统更流畅、更安心。

  1. 高性能
  • 支持InnoDB并行查询,适用于轻量级OLAP应用场景,在TPC-H测试中平均提升15倍,最高提升40+倍。
  • 优化InnoDB事务系统,实现了大锁拆分及无锁化等多种优化方案,OLTP场景整体性能提升约20%。
  • 支持并行load data,适用于频繁导入大批量数据的应用场景,性能可提升约20+倍。
  • 支持线程池(thread pool),降低了线程创建和销毁的代价,保证高并发下,性能稳定不会明显衰退。
  1. 高可靠。GreatSQL针对MGR进行了大量改进和提升工作,进一步提升MGR的高可靠等级。
  • 地理标签,提升多机房架构数据可靠性。
  • 读写节点动态VIP,高可用切换更便捷。
  • 仲裁节点,用更低的服务器成本实现更高可用。
  • 快速单主模式,在单主模式下更快,性能更高。
  • 智能选主,高可用切换选主机制更合理。
  • 全新流控算法,使得事务更平稳,避免剧烈抖动。
  • 优化了节点加入、退出时可能导致性能剧烈抖动的问题。
  • 解决磁盘空间爆满时导致MGR集群阻塞的问题。
  • 解决了长事务造成无法选主的问题。
  • 优化事务认证队列清理算法,规避每60s抖动问题。
  • 修复了recover过程中长时间等待的问题。
  1. 高易用性。支持多个Oracle兼容性,包括CLOB、VARCHAR2数据类型,DATETIME运算、ROWNUM、子查询无别名、EXPLAIN PLAN FOR等语法,以及ADD_MONTHS()、CAST()、DECODE()等17个函数。在即将发布的GreatSQL新版本中,会更加更多Oracle兼容数据类型、函数、语法、存储过程等特性,进一步降低用户迁移成本。

  2. 高安全性。支持逻辑备份加密、CLONE备份加密、审计日志入表、表空间国密加密等多个安全提升特性,进一步保障业务数据安全,更适用于金融级应用场景。

三、展望未来

未来,社区将继续深耕数据库技术领域,以技术为基进行开发优化, 打造更稳定、更流畅、更好用的 GreatSQL 开源数据库。同时,社区目前也在持续招募代码、文档、博客等多方面的贡献者,共同建设 GreatSQL 社区!

附录:GreatSQL社区贡献清单1、MySQL Server: Replication

  1. Bug #93809 lost a whole file’s gtid_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=93809
  2. Bug #93978 XA COMMIT success with same xid_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=93978
  3. Bug #99628 semi sync master not handle ack packet correctly when recv packet timeout_lou shuai➥https://bugs.mysql.com/bug.php?id=99628
  4. Bug #107310 create user with comment lead replication error_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=107310

2、MySQL Server: Group Replication

  1. Bug #98151 group replication with wrong member_state after server shutdown_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=98151
  2. Bug #98643 group replication will be block primary node shutdown_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=98643
  3. Bug #99689 member cannot add to group_replication cluster after failover_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=99689
  4. Bug #100163 xa commit failed when stop group_replication will lead node error_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=100163
  5. Bug #100299 secondly role cannot join to group_replication after fail-over_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=100299
  6. Bug #101237 stop group_replicaiton may block long time when restart server_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=101237
  7. Bug #101635 group_replication_local_address port overflow_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=101635
  8. Bug #104629 wrong result when outer join prune partition tables with is null predicate_Lou Shuai➥https://bugs.mysql.com/bug.php?id=104629
  9. Bug #107635 event scheduler cause error on group replication_Lou Shuai➥https://bugs.mysql.com/bug.php?id=107635
  10. Bug #103040 minor fix for DEBUG message in XCOM_Lou Shuai➥https://bugs.mysql.com/bug.php?id=103040
  11. Bug #100984 group_replication state become error when fail-over node restart_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=100984
  12. 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

  1. Bug #94130 XA COMMIT may lead replication broken_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=94130
  2. Bug #98288 xa commit crash lead mysql replication error_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=98288
  3. Bug #99205 xa prepare write binlog while execute failed_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=99205
  4. Bug #100156 XA COMMIT still work after stop group_replication_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=100156
  5. Bug #102661 xa prepare failed lead replication error_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=102661

4、MySQL Server: InnoDB storage engine

  1. Bug #99638 xa transaction with low performance_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=99638
  2. Bug #87884 MySQL 5.7.15 hangs when executing truncate table_Lou Shuai➥https://bugs.mysql.com/bug.php?id=87884
  3. Bug #87299 mysql crash sometimes_Lou Shuai➥https://bugs.mysql.com/bug.php?id=87299
  4. Bug #84488 InnoDB: Failed to create check sector file_Lou Shuai➥https://bugs.mysql.com/bug.php?id=84488
  5. Bug #107044 server exit after alter table discard tablespace_Deng Yl➥https://bugs.mysql.com/bug.php?id=107044
  6. Bug #105271 When the innodb_system tablespace is full, sometimes directly coredump_Deng Yl➥https://bugs.mysql.com/bug.php?id=105271
  7. 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

  1. Bug #99679 stop group_replication will assert_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=99679
  2. 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

  1. Bug #100028 LIKE behavior is not same_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=100028
  2. Bug #100800 wrong result when select int column with range_Lou Shuai➥https://bugs.mysql.com/bug.php?id=100800
  3. Bug #100783 wrong result with hash join_Lou Shuai➥https://bugs.mysql.com/bug.php?id=100783
  4. Bug #98718 explain anaylze select count(*) from mysql.user coredump under debug version_Lou Shuai➥https://bugs.mysql.com/bug.php?id=98718
  5. Bug #68154 explain output ‘Using index condition’ not proper_Lou Shuai➥https://bugs.mysql.com/bug.php?id=68154
  6. Bug #107969 wrong result when search binary columns_Lou Shuai➥https://bugs.mysql.com/bug.php?id=107969
  7. 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

  1. Bug #101310 partition by key distribute unbalance for utf8_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=101310

8、MySQL Server: Options

  1. Bug #101469 skip_name_resolve does not take effect_Phoenix Zhang➥https://bugs.mysql.com/bug.php?id=101469

9、MySQL Server: Information schema

  1. Bug #99094 coredump when install information schema plugin_Lou Shuai➥https://bugs.mysql.com/bug.php?id=99094

10、Connector / C++

  1. 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

  1. 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

  1. Bug #64532 columns_priv record not clear or modify when table defination changed_Lou Shuai➥https://bugs.mysql.com/bug.php?id=64532
  2. 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

  1. Bug #102669 incorrect comment in source code_Hao Lu➥https://bugs.mysql.com/bug.php?id=102669

14、MySQL Server: DML MySQL

  1. Bug #104201 Wrong result when compare ‘null’ with subquery result_Deng Yl➥https://bugs.mysql.com/bug.php?id=104201
  2. Bug #104250 kill query will case some mysql client block_Deng Yl➥https://bugs.mysql.com/bug.php?id=104250
  3. Bug #99639 Wrong behavior between insert and insert…select_Roger Lei➥https://bugs.mysql.com/bug.php?id=99639
  4. 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

  1. 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

  1. Bug #111770 group replication lost transaction when import tablespace failed_Gang Liu➥https://bugs.mysql.com/bug.php?id=111770
  2. Bug #111888 ‘alter table xxx import tablespace’ lead server crash_Gang Liu➥https://bugs.mysql.com/bug.php?id=111888
  3. Bug #112049 changing implicit pk leads crash after restart_Hao Lu➥https://bugs.mysql.com/bug.php?id=112049

17、MySQL Server: Documentation

  1. Bug #68177 innodb_log_file_size with wrong default value_Lou Shuai➥https://bugs.mysql.com/bug.php?id=68177
  2. 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社区GiteeGitHubBilibili

GreatSQL社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

技术交流群:

微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群