diff --git a/README.md b/README.md index 5a1330ca5d9a28a366a8aa98a1973af4c777dd07..b2588502fd7b882d8afb6f1e4209c13d6d10f38f 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ GreatSQL 数据库是一款 **开源免费** 数据库,可在普通硬件上满足金融级应用场景,具有 **高可用**、**高性能**、**高兼容**、**高安全** 等特性,可作为 MySQL 或 Percona Server for MySQL 的理想可选替换。 -最新版本:GreatSQL 8.0.32-27。 +最新版本:GreatSQL 8.4.4-4。 ## 下载GreatSQL -- [下载 GreatSQL 最新版本](https://gitee.com/GreatSQL/GreatSQL/releases/GreatSQL-8.0.32-27) +- [下载 GreatSQL 最新版本](https://gitee.com/GreatSQL/GreatSQL/releases/GreatSQL-8.4.4-4) - [下载 GreatSQL 历史版本](https://gitee.com/GreatSQL/GreatSQL/releases/) # GreatSQL核心特性 @@ -65,7 +65,6 @@ GreatSQL 支持逻辑备份加密、CLONE 备份加密、审计、表空间国 - 支持 [审计功能](https://greatsql.cn/docs/5-enhance/5-4-security-audit.html),及时记录和发现未授权或不安全行为。 - 支持 [InnoDB 表空间国密加密算法](https://greatsql.cn/docs/5-enhance/5-4-security-innodb-tablespace-encrypt.html),确保重要数据的加密安全。 - 支持 [基于函数和策略的两种数据脱敏](https://greatsql.cn/docs/5-enhance/5-4-security-data-masking.html) 工作方式,保障敏感用户数据查询结果保密性。 -- 支持 [存储登录历史](https://greatsql.cn/docs/5-enhance/5-4-security-last-login.html),便于管理员查询,进一步提升数据库安全性。 通过上述多个安全提升特性,进一步保障业务数据安全。更多信息详见文档:[高安全](https://greatsql.cn/docs/5-enhance/5-4-security.html)。 @@ -186,18 +185,7 @@ $ mysql -uroot -p'dt_)MtExl594' mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 -Server version: 8.0.32-27 - -Copyright (c) 2021-2021 GreatDB Software Co., Ltd -Copyright (c) 2009-2021 Percona LLC and/or its affiliates -Copyright (c) 2000, 2021, Oracle and/or its affiliates. - -Oracle is a registered trademark of Oracle Corporation and/or its -affiliates. Other names may be trademarks of their respective -owners. - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - +... mysql> \s ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> @@ -258,13 +246,13 @@ mysql> SELECT * FROM t1; 戳此查看 [GreatSQL 版本历史](https://greatsql.cn/docs/1-docs-intro/1-2-release-history.html)。 ## QA测试 -GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表明 GreatSQL 与 openEuler-25.03 完全兼容,功能齐全,测试完备。 +GreatSQL 8.4.4-4 已经在 openEuler-25.03 环境下通过回归测试,表明 GreatSQL 与 openEuler-25.03 完全兼容,功能齐全,测试完备。 相关回归测试报告详见:[openEuler-25.03-GreatSQL测试报告](./openEuler-25.03-GreatSQL测试报告.md)。 ## GreatSQL vs MySQL -| **1.主要特性** | GreatSQL 8.0.32-27 | MySQL 8.0.32 | +| **1.主要特性** | GreatSQL 8.4.4-4 | MySQL 8.4.4 | | :--- | :---: | :---: | | 开源 | :heavy_check_mark: | :heavy_check_mark: | |ACID 完整性| :heavy_check_mark: | :heavy_check_mark: | @@ -284,17 +272,15 @@ GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表 |组复制(MGR)| :heavy_check_mark: | :heavy_check_mark: | |MyRocks 引擎| :heavy_check_mark: | ❌ | |支持龙芯架构| :heavy_check_mark: | ❌ | -| **2. 性能提升扩展** | GreatSQL 8.0.32-27 | MySQL 8.0.32 | +| **2. 性能提升扩展** | GreatSQL 8.4.4-4 | MySQL 8.4.4 | |Rapid 引擎| :heavy_check_mark: | 仅云上HeatWave | |Turbo 引擎| :heavy_check_mark: | ❌ | |NUMA 亲和性优化| :heavy_check_mark: | ❌ | |非阻塞式 DDL| :heavy_check_mark: | ❌ | -|无主键表导入优化 | :heavy_check_mark: | ❌ | -|InnoDB 并行查询| :heavy_check_mark: | 仅主键扫描 | +|无主键表导入提速 | :heavy_check_mark: | ❌ | |并行 LOAD DATA| :heavy_check_mark: | ❌ | |InnoDB 事务 ReadView 无锁优化| :heavy_check_mark: | ❌ | |InnoDB 事务大锁拆分优化| :heavy_check_mark: | ❌ | -|InnoDB page压缩支持zstd| :heavy_check_mark: | ❌ | |InnoDB 资源组| :heavy_check_mark: | :heavy_check_mark: | |自定义 InnoDB 页大小| :heavy_check_mark: | :heavy_check_mark: | |Contention-Aware Transaction Scheduling| :heavy_check_mark: | :heavy_check_mark: | @@ -305,7 +291,7 @@ GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表 |InnoDB 快速索引创建优化| :heavy_check_mark: | ❌ | |VARCHAR/BLOB/JSON 类型存储单列压缩| :heavy_check_mark: | ❌ | |数据字典中存储单列压缩信息| :heavy_check_mark: | ❌ | -| **3. 面向开发者提升改进** | GreatSQL 8.0.32-27 | MySQL 8.0.32 | +| **3. 面向开发者提升改进** | GreatSQL 8.4.4-4 | MySQL 8.4.4 | |X API| :heavy_check_mark: | :heavy_check_mark: | |JSON| :heavy_check_mark: | :heavy_check_mark: | |NoSQL Socket-Level接口| :heavy_check_mark: | :heavy_check_mark: | @@ -315,21 +301,16 @@ GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表 |Oracle 兼容-函数| :heavy_check_mark: | ❌ | |Oracle 兼容-SQL语法| :heavy_check_mark: | ❌ | |Oracle 兼容-存储程序| :heavy_check_mark: | ❌ | -| **4. 基础特性提升改进** | GreatSQL 8.0.32-27 | MySQL 8.0.32 | +| **4. 基础特性提升改进** | GreatSQL 8.4.4-4 | MySQL 8.4.4 | |MGR 提升-地理标签| :heavy_check_mark: | ❌ | |MGR 提升-仲裁节点| :heavy_check_mark: | ❌ | |MGR 提升-读写节点绑定VIP| :heavy_check_mark: | ❌ | |MGR 提升-快速单主模式| :heavy_check_mark: | ❌ | |MGR 提升-智能选主机制| :heavy_check_mark: | ❌ | |MGR 提升-全新流控算法| :heavy_check_mark: | ❌ | -|MGR 提升-网络分区异常处理 | :heavy_check_mark: | ❌ | -|MGR 提升-节点异常退出处理 | :heavy_check_mark: | ❌ | -|MGR 提升-节点磁盘满处理 | :heavy_check_mark: | ❌ | -|MGR 提升-自动选择 donor 节点| :heavy_check_mark: | ❌ | -|MGR 提升-大事务压缩优化| :heavy_check_mark: | ❌ | -|Clone 增量备份| :heavy_check_mark: | ❌ | +|MGR 提升-自动选择 Donor 节点| :heavy_check_mark: | ❌ | +|Clone 全备 & 增备| :heavy_check_mark: | ❌ | |Clone 备份压缩| :heavy_check_mark: | ❌ | -|Binlog 读取限速| :heavy_check_mark: | ❌ | |information_schema 表数量|95|65| |全局性能和状态指标|853|434| |优化器直方图(Histograms)| :heavy_check_mark: | :heavy_check_mark: | @@ -339,17 +320,16 @@ GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表 |Per-Client 性能指标| :heavy_check_mark: | ❌ | |Per-Thread 性能指标| :heavy_check_mark: | ❌ | |全局查询相应耗时统计| :heavy_check_mark: | ❌ | -|SHOW INNODB ENGINE STATUS 增强| :heavy_check_mark: | ❌ | +|SHOW ENGINE INNODB STATUS 增强| :heavy_check_mark: | ❌ | |回滚段信息增强| :heavy_check_mark: | ❌ | |临时表信息增强| :heavy_check_mark: | ❌ | |用户统计信息增强| :heavy_check_mark: | ❌ | |Slow log 信息增强| :heavy_check_mark: | ❌ | -| **5.安全性提升** | GreatSQL 8.0.32-27 | MySQL 8.0.32 | +| **5.安全性提升** | GreatSQL 8.4.4-4 | MySQL 8.4.4 | |国密支持| :heavy_check_mark: | ❌ | |备份加密| :heavy_check_mark: | ❌ | |审计| :heavy_check_mark: | 仅企业版 | |数据脱敏| :heavy_check_mark: | ❌ | -|最后登录记录| :heavy_check_mark: | ❌ | |SQL Roles| :heavy_check_mark: | :heavy_check_mark: | |SHA-2 密码Hashing| :heavy_check_mark: | :heavy_check_mark: | |密码轮换策略| :heavy_check_mark: | :heavy_check_mark: | @@ -362,7 +342,7 @@ GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表 |二进制日志加密| :heavy_check_mark: | ❌ | |临时文件加密| :heavy_check_mark: | ❌ | |强制加密| :heavy_check_mark: | ❌ | -| **6. 运维便利性提升** | GreatSQL 8.0.32-27 | MySQL 8.0.32 | +| **6. 运维便利性提升** | GreatSQL 8.4.4-4 | MySQL 8.4.4 | |DDL 原子性| :heavy_check_mark: | :heavy_check_mark: | |数据字典存储 InnoDB 表| :heavy_check_mark: | :heavy_check_mark: | |快速 DDL| :heavy_check_mark: | :heavy_check_mark: | @@ -375,7 +355,7 @@ GreatSQL 8.0.32-27 已经在 openEuler-25.03 环境下通过回归测试,表 |杀掉不活跃事务| :heavy_check_mark: | ❌ | |START TRANSACTION WITH CONSISTENT SNAPSHOT 扩展| :heavy_check_mark: | ❌ | -GreatSQL 8.0.32-27 基于 Percona Server for MySQL 8.0.32 版本,它在 MySQL 8.0.32 基础上做了大量的改进和提升以及众多新特性,详情请见:[**Percona Server for MySQL feature comparison**](https://docs.percona.com/percona-server/8.0/feature-comparison.html),这其中包括线程池、审计、数据脱敏等 MySQL 企业版才有的特性,以及 performance_schema 提升、information_schema 提升、性能和可扩展性提升、用户统计增强、PROCESSLIST 增强、Slow Log 增强等大量改进和提升,这里不一一重复列出。 +GreatSQL 8.4.4-4 基于 Percona Server for MySQL 8.4.4-4 版本,它在 MySQL 8.4.4 基础上做了大量的改进和提升以及众多新特性,详情请见:[**Percona Server for MySQL feature comparison**](https://docs.percona.com/percona-server/8.4/feature-comparison.html),这其中包括线程池、审计、数据脱敏等 MySQL 企业版才有的特性,以及 performance_schema 提升、information_schema 提升、性能和可扩展性提升、用户统计增强、PROCESSLIST 增强、Slow Log 增强等大量改进和提升,这里不一一重复列出。 GreatSQL同时也是gitee(码云)平台上的GVP项目,详见:[https://gitee.com/gvp/database-related](https://gitee.com/gvp/database-related) **数据库相关**类目。 diff --git a/add-riscv64-support.patch b/add-riscv64-support.patch deleted file mode 100644 index 90b5f128848fa0c209414a371c3abe5509d2d081..0000000000000000000000000000000000000000 --- a/add-riscv64-support.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: GreatSQL -Date: Mon, 30 Sep 2024 20:32:57 +0800 -Date: Thu, 06 Mar 2025 14:08:51 +0800 -Subject: [PATCH] add riscv64 support - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e58d2efa2b1..c31f3c6992c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -722,6 +722,7 @@ SET(KNOWN_64BIT_ARCHITECTURES - s390x - x86_64 - sw_64 -+ riscv64 - ) - - # Include the platform-specific file. To allow exceptions, this code -diff --git a/storage/ndb/include/portlib/mt-asm.h b/storage/ndb/include/portlib/mt-asm.h -index a63fae161e4..cc7ea267028 100644 ---- a/storage/ndb/include/portlib/mt-asm.h -+++ b/storage/ndb/include/portlib/mt-asm.h -@@ -84,6 +84,19 @@ cpu_pause() - } - #endif - -+#elif defined(__riscv) -+ -+#define NDB_HAVE_MB -+#define NDB_HAVE_RMB -+#define NDB_HAVE_WMB -+ -+#define RISCV_FENCE(p, s) \ -+ __asm__ __volatile__ ("fence " #p "," #s : : : "memory") -+ -+#define mb() RISCV_FENCE(iorw,iorw) -+#define rmb() RISCV_FENCE(ir,ir) -+#define wmb() RISCV_FENCE(ow,ow) -+ - #elif defined(__sparc__) - - #define NDB_HAVE_MB diff --git a/greatsql-8.0.32-27.tar.xz b/greatsql-8.4.4-4.tar.xz similarity index 32% rename from greatsql-8.0.32-27.tar.xz rename to greatsql-8.4.4-4.tar.xz index fc6bc6acedcf7638ab5f76382d6d43c29200addc..c5bda14a260d6a02b71a8df91dfa13cf765e836a 100644 --- a/greatsql-8.0.32-27.tar.xz +++ b/greatsql-8.4.4-4.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce6f9e5ffa32c21e12dfef5b8f6b34a176d92064759701e6e559a89b8adbfeb9 -size 404722388 +oid sha256:2559efa857ba3b3da269b7ddd11d3a921763399241ac1acbffbffc6376a0a09e +size 404712372 diff --git a/greatsql-803227-oe2503-test-result-20250305.png b/greatsql-803227-oe2503-test-result-20250305.png deleted file mode 100644 index f90ae9b46b3db67419b3a6d6da90f8e6419a0888..0000000000000000000000000000000000000000 Binary files a/greatsql-803227-oe2503-test-result-20250305.png and /dev/null differ diff --git a/greatsql-84444-oe2509-test-result-20251021.png b/greatsql-84444-oe2509-test-result-20251021.png new file mode 100644 index 0000000000000000000000000000000000000000..64e64b0e3a0b6dbe5bd0583834cf1ada66974ce6 Binary files /dev/null and b/greatsql-84444-oe2509-test-result-20251021.png differ diff --git a/greatsql.spec b/greatsql.spec index bb815179064b72208d45120d5d5465692b3446e9..b8dacd7332ed1e130e3b6baa730545ed84601eb4 100644 --- a/greatsql.spec +++ b/greatsql.spec @@ -28,10 +28,9 @@ %global greatsql_vendor GreatDB Software Co., Ltd. %global mysqldatadir /var/lib/mysql -%global mysql_version 8.0.32 -%global greatsql_version 27 -%global revision aa66a385910 -%global tokudb_backup_version %{mysql_version}-%{greatsql_version} +%global mysql_version 8.4.4 +%global greatsql_version 4 +%global revision d73de75905d %global rpm_release 1 %global release %{greatsql_version}.%{rpm_release}%{?dist} @@ -40,8 +39,6 @@ %{?with_ssl: %global ssl_option -DWITH_SSL=%{with_ssl}} %{!?with_ssl: %global ssl_option -DWITH_SSL=system} -# By default a build will be done including the TokuDB -%{!?with_tokudb: %global tokudb 0} # By default a build will be done including the RocksDB %{!?with_rocksdb: %global rocksdb 0} @@ -55,22 +52,17 @@ %{!?with_systemd: %global systemd 0} %global systemd 1 -%{!?with_debuginfo: %global nodebuginfo 0} +%{!?with_debuginfo: %global nodebuginfo 1} %{!?product_suffix: %global product_suffix -80} %{!?feature_set: %global feature_set community} %{!?compilation_comment_release: %global compilation_comment_release GreatSQL (GPL), Release %{greatsql_version}, Revision %{revision}} %{!?compilation_comment_debug: %global compilation_comment_debug GreatSQL - Debug (GPL), Release %{greatsql_version}, Revision %{revision}} %{!?src_base: %global src_base greatsql} -# Setup cmake flags for TokuDB -%if 0%{?tokudb} - %global TOKUDB_FLAGS -DWITH_VALGRIND=OFF -DUSE_VALGRIND=OFF -DDEBUG_EXTNAME=OFF -DBUILD_TESTING=OFF -DUSE_GTAGS=OFF -DUSE_CTAGS=OFF -DUSE_ETAGS=OFF -DUSE_CSCOPE=OFF -DTOKUDB_BACKUP_PLUGIN_VERSION=%{tokudb_backup_version} - %global TOKUDB_DEBUG_ON -DTOKU_DEBUG_PARANOID=ON - %global TOKUDB_DEBUG_OFF -DTOKU_DEBUG_PARANOID=OFF +%if 0%{?rhel} >= 8 +%global add_fido_plugins 1 %else - %global TOKUDB_FLAGS -DWITHOUT_TOKUDB=1 - %global TOKUDB_DEBUG_ON %{nil} - %global TOKUDB_DEBUG_OFF %{nil} +%global add_fido_plugins 0 %endif # Setup cmake flags for RocksDB @@ -99,23 +91,25 @@ %global license_type GPLv2 Name: greatsql -Summary: GreatSQL: a high performance, highly reliable, easy to use, and high security database +Summary: GreatSQL: a high performance, highly reliable, easy to use, and high security database that can be used to replace MySQL or Percona Server. Group: Applications/Databases Version: %{mysql_version} Release: %{release} License: GPL-2.0-or-later AND LGPL-2.1-only AND BSL-1.0 AND GPL-1.0-or-later OR Artistic-1.0-Perl AND BSD-2-Clause -SOURCE0: https://product.greatdb.com/GreatSQL-%{mysql_version}-%{greatsql_version}/%{name}-%{mysql_version}-%{greatsql_version}.tar.xz URL: https://greatsql.cn -SOURCE5: mysql_config.sh +SOURCE0: https://product.greatdb.com/GreatSQL-%{mysql_version}-%{greatsql_version}/%{name}-%{mysql_version}-%{greatsql_version}.tar.xz SOURCE10: https://archives.boost.io/release/1.77.0/source/boost_1_77_0.tar.bz2 SOURCE11: mysqld.cnf +SOURCE12: mysql_config.sh Patch0: mysql-5.7-sharedlib-rename.patch -Patch1: add-riscv64-support.patch -BuildRequires: cmake >= 2.8.2 +BuildRequires: cmake >= 3.6.1 BuildRequires: make BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: perl +%{?el7:BuildRequires: perl(Env)} +%{?el8:BuildRequires: perl(Env)} +%{?el9:BuildRequires: perl(Env)} BuildRequires: perl(Carp) BuildRequires: perl(Config) BuildRequires: perl(Cwd) @@ -149,13 +143,21 @@ BuildRequires: libaio-devel BuildRequires: ncurses-devel BuildRequires: pam-devel BuildRequires: readline-devel +%ifnarch aarch64 BuildRequires: numactl-devel +%endif BuildRequires: openssl BuildRequires: openssl-devel BuildRequires: zlib-devel BuildRequires: bison BuildRequires: openldap-devel BuildRequires: libcurl-devel +BuildRequires: libedit-devel +BuildRequires: libevent-devel +BuildRequires: libicu-devel +BuildRequires: lz4 +BuildRequires: lz4-devel +BuildRequires: libzstd-devel %if 0%{?systemd} BuildRequires: systemd BuildRequires: pkgconfig(systemd) @@ -171,18 +173,48 @@ BuildRequires: rpcgen BuildRequires: m4 BuildRequires: krb5-devel BuildRequires: libudev-devel + +#some more requires, from 2025.3.24 +BuildRequires: libatomic +BuildRequires: mecab-devel +BuildRequires: gzip +BuildRequires: perl(base) +BuildRequires: perl(Digest::file) +BuildRequires: perl(Digest::MD5) +BuildRequires: perl(Env) +BuildRequires: perl(FindBin) +BuildRequires: perl(if) +BuildRequires: perl-interpreter +BuildRequires: perl-generators +BuildRequires: perl(IPC::Open3) +BuildRequires: perl(lib) +BuildRequires: perl(LWP::Simple) +BuildRequires: perl(Net::Ping) +BuildRequires: perl(Socket) +BuildRequires: perl(strict) +BuildRequires: perl(Test::More) +BuildRequires: perl(warnings) +BuildRequires: procps +BuildRequires: protobuf-lite-devel +BuildRequires: zlib +#end for some more requires + BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +Conflicts: community-mysql mysql-community +Conflicts: mariadb +Conflicts: Percona-Server + # For rpm => 4.9 only: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%global __requires_exclude ^perl\\((GD|hostnames|lib::mtr|lib::v1|mtr_|My::|Lmo|Lmo::Meta|Lmo::Object|Lmo::Types|Lmo::Utils|Percona::Toolkit|Quoter|Transformers) -%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so|/usr/include/mysql/.*|/usr/share/man/man.*/mysql.*|/etc/my.cnf|/usr/bin/mysql.*|/usr/sbin/mysqld.*|*libprotobuf*|*libmysqlclient.so*|*libmysqlharness*|*libmysqlrouter*|*mysqlclient*|*libdaemon*|*libfnv*|*libmemcached*|*libmurmur*|*libtest*)$ +%global __requires_exclude ^perl\\(GD|hostnames|lib::mtr|lib::v1|mtr_|My::|Lmo|Lmo::Meta|Lmo::Object|Lmo::Types|Lmo::Utils|Percona::Toolkit|Quoter|Transformers) +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so|%{_bindir}/mysql.*|%{_sbindir}/mysqld.*)$ %global _privatelibs lib(protobuf|mysqlclient|mysqlharness|mysqlrouter|mysqlclient|daemon|fnv|memcached|murmur|test)*\\.so* -%global __provides_exclude %{_privatelibs} -%global __requires_exclude %{_privatelibs} +%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}%{_privatelibs} +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}%{_privatelibs} %description -GreatSQL focuses on improving the reliability and performance of MGR, supports InnoDB parallel query and other features, and is a domestic MySQL version suitable for financial applications. It can be used as an optional replacement of MySQL or Percona Server. It is completely free and compatible with MySQL or Percona server. +GreatSQL: a high performance, highly reliable, easy to use, and high security database that can be used to replace MySQL or Percona Server. For a description of GreatSQL see https://greatsql.cn @@ -199,8 +231,11 @@ Requires(pre): greatsql-shared Requires: greatsql-client Requires: greatsql-icu-data-files Requires: openssl -Conflicts: Percona-SQL-server-50 Percona-Server-server-51 Percona-Server-server-55 Percona-Server-server-56 Percona-Server-server-57 - +Conflicts: greatsql-mysql-config < %{version}-%{release} +Obsoletes: greatsql-mysql-config < %{version}-%{release} +Conflicts: mysql-server mysql-community-server mysql-config +Conflicts: mariadb-server mariadb-galera-server mariadb-connector-c-config mariadb-config +Conflicts: Percona-SQL-server-50 Percona-Server-server-51 Percona-Server-server-55 Percona-Server-server-56 Percona-Server-server-57 Percona-Server-server %if 0%{?systemd} Requires(post): systemd Requires(preun): systemd @@ -211,10 +246,8 @@ Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service %endif -Conflicts: mariadb-connector-c-config - %description -n greatsql-server -GreatSQL: a high performance, highly reliable, easy to use, and high security database that can be used to replace MySQL or Percona Server. +GreatSQL database server binaries and system database setup. For a description of GreatSQL see https://greatsql.cn @@ -222,7 +255,9 @@ For a description of GreatSQL see https://greatsql.cn Summary: GreatSQL - Client Group: Applications/Databases Requires: greatsql-shared -Conflicts: Percona-SQL-client-50 Percona-Server-client-51 Percona-Server-client-55 Percona-Server-client-56 Percona-Server-client-57 +Conflicts: mysql mysql-client mysql-community-client +Conflicts: mariadb mariadb-client +Conflicts: Percona-SQL-client-50 Percona-Server-client-51 Percona-Server-client-55 Percona-Server-client-56 Percona-Server-client-57 Percona-Server-client %description -n greatsql-client This package contains the standard GreatSQL client and administration tools. @@ -261,10 +296,9 @@ Requires: perl(Sys::Hostname) Requires: perl(Time::HiRes) Requires: perl(Time::localtime) Requires(pre): greatsql-shared greatsql-client greatsql-server -Conflicts: MySQL-test -Conflicts: mysql-test +Conflicts: mysql-test mysql-community-test Conflicts: mariadb-test -Conflicts: Percona-SQL-test-50 Percona-Server-test-51 Percona-Server-test-55 Percona-Server-test-56 Percona-Server-test-57 +Conflicts: Percona-SQL-test-50 Percona-Server-test-51 Percona-Server-test-55 Percona-Server-test-56 Percona-Server-test-57 Percona-Server-test %description -n greatsql-test This package contains the GreatSQL regression test suite. @@ -274,9 +308,9 @@ For a description of GreatSQL see https://greatsql.cn %package -n greatsql-devel Summary: GreatSQL - Development header files and libraries Group: Applications/Databases -Conflicts: Percona-SQL-devel-50 Percona-Server-devel-51 Percona-Server-devel-55 Percona-Server-devel-56 Percona-Server-devel-57 -Conflicts: mariadb-connector-c-devel -Conflicts: mariadb-devel +Conflicts: mysql-devel mysql-community-devel +Conflicts: mariadb-devel mariadb-connector-c-devel +Conflicts: Percona-SQL-devel-50 Percona-Server-devel-51 Percona-Server-devel-55 Percona-Server-devel-56 Percona-Server-devel-57 Percona-Server-devel %description -n greatsql-devel This package contains the development header files and libraries necessary @@ -287,7 +321,9 @@ For a description of GreatSQL see https://greatsql.cn %package -n greatsql-shared Summary: GreatSQL - Shared libraries Group: Applications/Databases -Conflicts: mysql-libs < %{version}-%{release} +Conflicts: mysql-libs mysql-community-libs mysql-libs < %{version}-%{release} +Conflicts: mariadb-libs +Conflicts: Percona-Server-shared-51 Percona-Server-shared-55 Percona-Server-shared-55 Percona-Server-shared-56 Percona-Server-shared-57 Percona-Server-shared %description -n greatsql-shared This package contains the shared libraries (*.so*) which certain languages @@ -295,37 +331,6 @@ and applications need to dynamically load and use GreatSQL. For a description of GreatSQL see https://greatsql.cn -%if 0%{?compatlib} -%package -n greatsql-shared-compat -Summary: Shared compat libraries for GreatSQL %{compatver}-%{percona_compatver} database client applications -Group: Applications/Databases - -Conflicts: mysql-libs - -Conflicts: Percona-Server-shared-51 -Conflicts: Percona-Server-shared-55 -Conflicts: Percona-Server-shared-55 -Conflicts: Percona-Server-shared-56 -Conflicts: Percona-Server-shared-57 - -%description -n greatsql-shared-compat -This package contains the shared compat libraries for GreatSQL %{compatver}-%{percona_compatver} client -applications. -%endif - -%if 0%{?tokudb} -%package -n greatsql-tokudb -Summary: GreatSQL - TokuDB package -Group: Applications/Databases -Requires: greatsql-server = %{version}-%{release} -Requires: greatsql-shared = %{version}-%{release} -Requires: greatsql-client = %{version}-%{release} -Requires: jemalloc >= 3.3.0 - -%description -n greatsql-tokudb -This package contains the TokuDB plugin for GreatSQL %{version}-%{release} -%endif - %if 0%{?rocksdb} %package -n greatsql-rocksdb Summary: GreatSQL - RocksDB package @@ -333,6 +338,7 @@ Group: Applications/Databases Requires: greatsql-server = %{version}-%{release} Requires: greatsql-shared = %{version}-%{release} Requires: greatsql-client = %{version}-%{release} +Conflicts: Percona-server-rocksdb %description -n greatsql-rocksdb This package contains the RocksDB plugin for GreatSQL %{version}-%{release} @@ -345,6 +351,8 @@ Summary: GreatSQL MySQL Router Group: Applications/Databases Provides: greatsql-mysql-router = %{version}-%{release} Obsoletes: greatsql-mysql-router < %{version}-%{release} +Conflicts: mysql-router mysql-router-community +Conflicts: percona-mysql-router %description -n greatsql-mysql-router The GreatSQL MySQL Router software delivers a fast, multi-threaded way of @@ -357,6 +365,7 @@ Summary: Development header files and libraries for GreatSQL MySQL Router Group: Applications/Databases Provides: greatsql-mysql-router-devel = %{version}-%{release} Conflicts: mysql-router-devel +Conflicts: percona-mysql-router-devel %description -n greatsql-mysql-router-devel This package contains the development header files and libraries @@ -364,16 +373,6 @@ necessary to develop GreatSQL MySQL Router applications. For a description of GreatSQL see https://greatsql.cn -%package -n greatsql-mysql-config -Summary: GreatSQL config -Provides: greatsql-mysql-config = %{version}-%{release} -Conflicts: mysql-config - -%description -n greatsql-mysql-config -This package contains my.cnf for GreatSQL. - -For a description of GreatSQL see https://greatsql.cn - %package -n greatsql-icu-data-files Summary: GreatSQL packaging of ICU data files @@ -383,10 +382,12 @@ This package contains ICU data files needer by GreatSQL regular expressions. For a description of GreatSQL see https://greatsql.cn %prep -%setup -q -T -a 0 -a 10 -c -n %{src_dir} +#%setup -q -T -a 0 -a 10 -c -n %{src_dir} +%setup -q -T -a 0 -c -n %{src_dir} pushd %{src_dir} -%patch -P0 -p0 -%patch -P1 -p1 +%patch -P0 -p1 +#%patch -P0 -p0 +#%patch -P1 -p1 cp %{SOURCE11} scripts %build @@ -400,63 +401,6 @@ if [ "x$(id -u)" = "x0" ] ; then fi %endif -# Build debug versions of mysqld and libmysqld.a -mkdir debug -( - cd debug - # Attempt to remove any optimisation flags from the debug build - optflags=$(echo "%{optflags}" | sed -e 's/-O2 / /' -e 's/-Wp,-D_FORTIFY_SOURCE=2/ -Wno-missing-field-initializers -Wno-error /') - optflags=$(echo $optflags | sed -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-hardened-cc1 -specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1/ /') - cmake ../%{src_dir} \ - -DBUILD_CONFIG=mysql_release \ - -DINSTALL_LAYOUT=RPM \ - -DCMAKE_BUILD_TYPE=Debug \ - -DWITH_BOOST=.. \ - -DCMAKE_C_FLAGS="$optflags" \ - -DCMAKE_CXX_FLAGS="$optflags" \ -%if 0%{?systemd} - -DWITH_SYSTEMD=1 \ -%endif - -DWITH_INNODB_MEMCACHED=1 \ - -DINSTALL_LIBDIR="%{_lib}/mysql" \ - -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ - -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ - -DINSTALL_MYSQLSHAREDIR=share/greatsql \ - -DINSTALL_SUPPORTFILESDIR=share/greatsql \ - -DFEATURE_SET="%{feature_set}" \ - -DWITH_AUTHENTICATION_LDAP=OFF \ - -DWITH_PAM=1 \ - -DWITH_ROCKSDB=OFF \ - -DWITH_UNIT_TESTS=OFF \ - -DALLOW_NO_SSE42=ON \ - -DROCKSDB_DISABLE_AVX2=1 \ - -DROCKSDB_DISABLE_MARCH_NATIVE=1 \ - -DGROUP_REPLICATION_WITH_ROCKSDB=OFF \ - -DWITH_TOKUDB=0 \ - -DWITH_TOKUDB_BACKUP=OFF \ - -DWITH_INNODB_MEMCACHED=1 \ - -DMYSQL_MAINTAINER_MODE=OFF \ - -DFORCE_INSOURCE_BUILD=1 \ - -DWITH_NUMA=ON \ - -DWITH_LDAP=system \ - -DWITH_SYSTEM_LIBS=ON \ - -DWITH_PROTOBUF=bundled \ - -DWITH_RAPIDJSON=bundled \ - -DWITH_ICU=bundled \ - -DWITH_LZ4=bundled \ - -DWITH_ZLIB=bundled \ - -DWITH_ZSTD=bundled \ - -DWITH_READLINE=system \ - -DWITH_LIBEVENT=bundled \ - -DWITH_KEYRING_VAULT=ON \ - -DWITH_FIDO=bundled \ - -DWITHOUT_RAPID_SECONDARY_STORAGE_ENGINE=1 \ - %{?ssl_option} \ - %{?mecab_option} \ - -DCOMPILATION_COMMENT="%{compilation_comment_debug}" %{TOKUDB_FLAGS} %{TOKUDB_DEBUG_OFF} %{ROCKSDB_FLAGS} - echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG - make %{?_smp_mflags} -) # Build full release mkdir release ( @@ -466,8 +410,7 @@ mkdir release -DINSTALL_LAYOUT=RPM \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DWITH_BOOST=.. \ - -DCMAKE_C_FLAGS="$optflags" \ - -DCMAKE_CXX_FLAGS="$optflags" \ + -DCMAKE_SKIP_INSTALL_RPATH=YES \ %if 0%{?systemd} -DWITH_SYSTEMD=1 \ %endif @@ -480,18 +423,21 @@ mkdir release -DFEATURE_SET="%{feature_set}" \ -DWITH_AUTHENTICATION_LDAP=OFF \ -DWITH_PAM=1 \ - -DWITH_TOKUDB=0 \ - -DWITH_TOKUDB_BACKUP=OFF \ + -DWITH_NDB=OFF \ + -DWITH_NDBCLUSTER=OFF \ + -DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF \ + -DWITH_AUTHENTICATION_KERBEROS=ON \ -DWITH_UNIT_TESTS=OFF \ -DWITH_ROCKSDB=OFF \ -DROCKSDB_DISABLE_AVX2=1 \ -DROCKSDB_DISABLE_MARCH_NATIVE=1 \ -DGROUP_REPLICATION_WITH_ROCKSDB=OFF \ -DALLOW_NO_SSE42=ON \ - -DWITH_INNODB_MEMCACHED=1 \ -DMYSQL_MAINTAINER_MODE=OFF \ -DFORCE_INSOURCE_BUILD=1 \ +%ifnarch aarch64 -DWITH_NUMA=ON \ +%endif -DWITH_LDAP=system \ -DWITH_SYSTEM_LIBS=ON \ -DWITH_LZ4=bundled \ @@ -503,12 +449,19 @@ mkdir release -DWITH_LIBEVENT=bundled \ -DWITH_ZSTD=bundled \ -DWITH_KEYRING_VAULT=ON \ +%if 0%{?add_fido_plugins} -DWITH_FIDO=bundled \ +%else + -DWITH_FIDO=none \ +%endif -DWITHOUT_RAPID_SECONDARY_STORAGE_ENGINE=1 \ - %{?ssl_option} \ + -DWITH_SSL=system \ + -DREPRODUCIBLE_BUILD=OFF \ + -DWITH_ROUTER=ON \ + -DENABLED_LOCAL_INFILE=ON \ %{?mecab_option} \ - -DCOMPILATION_COMMENT="%{compilation_comment_release}" %{TOKUDB_FLAGS} %{TOKUDB_DEBUG_OFF} %{ROCKSDB_FLAGS} - echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG + -DCOMPILATION_COMMENT="%{compilation_comment_release}" %{ROCKSDB_FLAGS} + echo BEGIN_NORMAL_CONFIG ; echo END_NORMAL_CONFIG make %{?_smp_mflags} ) @@ -547,12 +500,15 @@ install -d %{buildroot}%{_sysconfdir}/my.cnf.d # Add libdir to linker install -d -m 0755 %{buildroot}%{_sysconfdir}/ld.so.conf.d -echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +echo "%{_libdir}/mysql" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +echo "%{_libdir}/mysql/private" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +echo "%{_libdir}/mysqlrouter" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +echo "%{_libdir}/mysqlrouter/private" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf # multiarch support %ifarch %{multiarchs} mv %{buildroot}/%{_bindir}/mysql_config %{buildroot}/%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE5} %{buildroot}/%{_bindir}/mysql_config + install -p -m 0755 %{SOURCE12} %{buildroot}/%{_bindir}/mysql_config %endif %if 0%{?systemd} @@ -564,9 +520,6 @@ install -D -p -m 0755 packaging/rpm-common/mysqlrouter.init %{buildroot}%{_sysco %endif install -D -p -m 0644 packaging/rpm-common/mysqlrouter.conf %{buildroot}%{_sysconfdir}/mysqlrouter/mysqlrouter.conf -# set rpath for plugin to use private/libfido2.so -#patchelf --debug --set-rpath '$ORIGIN/../private' %{buildroot}/%{_libdir}/mysql/plugin/authentication_fido.so - # Remove files pages we explicitly do not want to package rm -rf %{buildroot}%{_infodir}/mysql.info* rm -rf %{buildroot}%{_datadir}/greatsql/mysql.server @@ -580,17 +533,6 @@ rm -rf %{buildroot}/usr/include/kmip.h rm -rf %{buildroot}/usr/include/kmippp.h rm -rf %{buildroot}/usr/lib/libkmip.a rm -rf %{buildroot}/usr/lib/libkmippp.a -#%if 0%{?tokudb} -# rm -f %{buildroot}%{_prefix}/README.md -# rm -f %{buildroot}%{_prefix}/COPYING.GPLv2 -# rm -f %{buildroot}%{_prefix}/PATENTS -#%endif - -# Remove upcoming man pages, to avoid breakage when they materialize -# Keep this comment as a placeholder for future cases -# rm -f %{buildroot}%{_mandir}/man1/.1 - -# Remove removed manpages here until they are removed from the docs repo %check %if 0%{?runselftest} @@ -636,7 +578,7 @@ datadir=$(/usr/bin/my_print_defaults server mysqld | grep '^--datadir=' | sed -n if [ ! -e /var/log/mysqld.log ]; then /usr/bin/install -m0640 -omysql -gmysql /dev/null /var/log/mysqld.log fi -#/bin/touch /var/log/mysqld.log >/dev/null 2>&1 || : + %if 0%{?systemd} %systemd_post mysqld.service if [ $1 == 1 ]; then @@ -713,17 +655,26 @@ fi %postun -n greatsql-shared -#%if 0%{?tokudb} -#%post -n greatsql-tokudb -#if [ $1 -eq 1 ] ; then -# echo -e "\n\n * This release of GreatSQL is distributed with TokuDB storage engine." -# echo -e " * Run the following script to enable the TokuDB storage engine in Percona Server:\n" -# echo -e "\tps-admin --enable-tokudb -u -p[mysql_admin_pass] [-S ] [-h -P ]\n" -# echo -e " * See http://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_installation.html for more installation details\n" -# echo -e " * See http://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_intro.html for an introduction to TokuDB\n\n" -#fi -#%endif -# +%ifarch x86_64 +%if 0%{?compatlib} +%post -n greatsql-shared-compat +for lib in libmysqlclient{.so.18.0.0,.so.18,_r.so.18.0.0,_r.so.18}; do + if [ ! -f %{_libdir}/mysql/${lib} ]; then + ln -s libmysqlclient.so.18.1.0 %{_libdir}/mysql/${lib}; + fi +done +/sbin/ldconfig + +%postun -n greatsql-shared-compat +for lib in libmysqlclient{.so.18.0.0,.so.18,_r.so.18.0.0,_r.so.18}; do + if [ -h %{_libdir}/mysql/${lib} ]; then + rm -f %{_libdir}/mysql/${lib}; + fi +done +/sbin/ldconfig +%endif +%endif + %if 0%{?rocksdb} %post -n greatsql-rocksdb if [ $1 -eq 1 ] ; then @@ -744,7 +695,7 @@ fi %systemd_post mysqlrouter.service %else /sbin/chkconfig --add mysqlrouter -%endif # systemd +%endif %preun -n greatsql-mysql-router %if 0%{?systemd} @@ -754,7 +705,7 @@ if [ "$1" = 0 ]; then /sbin/service mysqlrouter stop >/dev/null 2>&1 || : /sbin/chkconfig --del mysqlrouter fi -%endif # systemd +%endif %postun -n greatsql-mysql-router /sbin/ldconfig @@ -764,7 +715,7 @@ fi if [ $1 -ge 1 ]; then /sbin/service mysqlrouter condrestart >/dev/null 2>&1 || : fi -%endif # systemd +%endif %files -n greatsql-server @@ -780,23 +731,12 @@ fi %attr(644, root, root) %{_mandir}/man1/myisamlog.1* %attr(644, root, root) %{_mandir}/man1/myisampack.1* %attr(644, root, root) %{_mandir}/man8/mysqld.8* -#%if 0%{?systemd} -#%exclude %{_mandir}/man1/mysqld_multi.1* -#%exclude %{_mandir}/man1/mysqld_safe.1* -#%else -#%attr(644, root, root) %{_mandir}/man1/mysqld_multi.1* -#%attr(644, root, root) %{_mandir}/man1/mysqld_safe.1* -#%endif %attr(644, root, root) %{_mandir}/man1/mysqldumpslow.1* %attr(644, root, root) %{_mandir}/man1/mysql_secure_installation.1* -%attr(644, root, root) %{_mandir}/man1/mysql_upgrade.1* %attr(644, root, root) %{_mandir}/man1/mysqlman.1* -#%attr(644, root, root) %{_mandir}/man1/mysql.server.1* %attr(644, root, root) %{_mandir}/man1/mysql_tzinfo_to_sql.1* %attr(644, root, root) %{_mandir}/man1/perror.1* -%attr(644, root, root) %{_mandir}/man1/mysql_ssl_rsa_setup.1* %attr(644, root, root) %{_mandir}/man1/lz4_decompress.1* -%attr(644, root, root) %{_mandir}/man1/zlib_decompress.1* %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_sysconfdir}/my.cnf.d @@ -811,13 +751,10 @@ fi %attr(755, root, root) %{_bindir}/myisampack %attr(755, root, root) %{_bindir}/mysql_secure_installation %attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql -%attr(755, root, root) %{_bindir}/mysql_upgrade %attr(755, root, root) %{_bindir}/mysqldumpslow %attr(755, root, root) %{_bindir}/ps_mysqld_helper %attr(755, root, root) %{_bindir}/perror -%attr(755, root, root) %{_bindir}/mysql_ssl_rsa_setup %attr(755, root, root) %{_bindir}/lz4_decompress -%attr(755, root, root) %{_bindir}/zlib_decompress %attr(755, root, root) %{_bindir}/ps-admin %attr(755, root, root) %{_bindir}/zstd_decompress %attr(755, root, root) %{_bindir}/mysqldecompress @@ -829,14 +766,107 @@ fi %attr(755, root, root) %{_bindir}/mysqld_safe %endif %attr(755, root, root) %{_sbindir}/mysqld -%attr(755, root, root) %{_sbindir}/mysqld-debug %dir %{_libdir}/mysql/private %attr(755, root, root) %{_libdir}/mysql/private/libprotobuf-lite.so.* %attr(755, root, root) %{_libdir}/mysql/private/libprotobuf.so.* +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_bad_any_cast_impl.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_bad_optional_access.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_bad_variant_access.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_base.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_city.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_civil_time.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_cord_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_cord.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_cordz_functions.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_cordz_handle.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_cordz_info.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_cordz_sample_token.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_crc32c.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_crc_cord_state.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_crc_cpu_detect.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_crc_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_debugging_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_demangle_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_die_if_null.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_examine_stack.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_exponential_biased.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_failure_signal_handler.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_commandlineflag_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_commandlineflag.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_config.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_marshalling.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_parse.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_private_handle_accessor.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_program_name.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_reflection.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_usage_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_flags_usage.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_graphcycles_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_hash.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_hashtablez_sampler.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_int128.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_kernel_timeout_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_leak_check.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_entry.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_flags.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_globals.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_initialize.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_check_op.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_conditions.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_format.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_globals.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_log_sink_set.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_message.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_nullguard.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_internal_proto.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_severity.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_log_sink.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_low_level_hash.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_malloc_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_periodic_sampler.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_distributions.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_distribution_test_util.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_platform.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_pool_urbg.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_randen_hwaes_impl.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_randen_hwaes.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_randen_slow.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_randen.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_internal_seed_material.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_seed_gen_exception.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_random_seed_sequences.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_raw_hash_set.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_raw_logging_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_scoped_set_env.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_spinlock_wait.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_stacktrace.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_statusor.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_status.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_strerror.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_str_format_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_strings_internal.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_strings.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_string_view.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_symbolize.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_synchronization.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_throw_delegate.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_time.so +%attr(755, root, root) %{_libdir}/mysql/private/libabsl_time_zone.so +%if 0%{?add_ssl_lib} +%attr(755, root, root) %{_libdir}/mysql/private/libcrypto.so +%attr(755, root, root) %{_libdir}/mysql/private/libcrypto.so.1.1 +%attr(755, root, root) %{_libdir}/mysql/private/libssl.so +%attr(755, root, root) %{_libdir}/mysql/private/libssl.so.1.1 +%endif +%if 0%{?add_fido_plugins} +%attr(755, root, root) %{_libdir}/mysql/private/libfido2.so.* +%attr(755, root, root) %{_libdir}/mysql/plugin/authentication_webauthn_client.so +%endif %dir %{_libdir}/mysql/plugin %attr(755, root, root) %{_libdir}/mysql/plugin/procfs.so -%attr(755, root, root) %{_libdir}/mysql/plugin/binlog_utils_udf.so %attr(755, root, root) %{_libdir}/mysql/plugin/adt_null.so %attr(755, root, root) %{_libdir}/mysql/plugin/auth_socket.so %attr(755, root, root) %{_libdir}/mysql/plugin/authentication_kerberos_client.so @@ -868,15 +898,30 @@ fi %attr(755, root, root) %{_libdir}/mysql/plugin/component_test_table_access.so %attr(755, root, root) %{_libdir}/mysql/plugin/component_test_udf_services.so %attr(755, root, root) %{_libdir}/mysql/plugin/component_validate_password.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_audit_log_filter.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_binlog_utils_udf.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_keyring_vault.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_masking_functions.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_percona_udf.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_event_tracking_consumer.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_event_tracking_consumer_a.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_event_tracking_consumer_b.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_event_tracking_consumer_c.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_event_tracking_producer_a.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_event_tracking_producer_b.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_execute_prepared_statement.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_execute_regular_statement.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_mysql_signal_handler.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_mysql_thd_store_service.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_server_telemetry_metrics.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_test_server_telemetry_traces.so +%attr(755, root, root) %{_libdir}/mysql/plugin/component_uuid_vx_udf.so %attr(755, root, root) %{_libdir}/mysql/plugin/conflicting_variables.so %attr(755, root, root) %{_libdir}/mysql/plugin/connection_control.so %attr(755, root, root) %{_libdir}/mysql/plugin/ddl_rewriter.so %attr(755, root, root) %{_libdir}/mysql/plugin/ha_example.so %attr(755, root, root) %{_libdir}/mysql/plugin/ha_mock.so -%attr(755, root, root) %{_libdir}/mysql/plugin/keyring_file.so %attr(755, root, root) %{_libdir}/mysql/plugin/keyring_udf.so -%attr(755, root, root) %{_libdir}/mysql/plugin/innodb_engine.so -%attr(755, root, root) %{_libdir}/mysql/plugin/libmemcached.so %attr(755, root, root) %{_libdir}/mysql/plugin/locking_service.so %attr(755, root, root) %{_libdir}/mysql/plugin/mypluglib.so %attr(755, root, root) %{_libdir}/mysql/plugin/mysql_clone.so @@ -892,123 +937,23 @@ fi %attr(755, root, root) %{_libdir}/mysql/plugin/test_services_command_services.so %attr(755, root, root) %{_libdir}/mysql/plugin/test_services_host_application_signal.so %attr(755, root, root) %{_libdir}/mysql/plugin/test_udf_wrappers.so -%attr(755, root, root) %{_libdir}/mysql/plugin/data_masking* -%dir %{_libdir}/mysql/plugin/debug -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/procfs.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/data_masking.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/adt_null.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_socket.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/authentication_kerberos_client.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/authentication_ldap_simple.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/authentication_ldap_sasl.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/authentication_ldap_sasl_client.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/authentication_oci_client.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/greatdb_ha.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/group_replication.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_audit_api_message_emit.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_encryption_udf.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_keyring_file.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_keyring_kmip.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_keyring_kms.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_log_filter_dragnet.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_log_sink_json.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_log_sink_rotate.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_log_sink_syseventlog.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_mysqlbackup.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_query_attributes.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_reference_cache.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_audit_api_message.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_component_deinit.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_host_application_signal.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_mysql_command_services.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_mysql_system_variable_set.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_sensitive_system_variables.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_status_var_reader.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_table_access.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_udf_services.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_validate_password.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/conflicting_variables.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/connection_control.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/ddl_rewriter.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/ha_example.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/ha_mock.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/keyring_file.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/keyring_udf.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/innodb_engine.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libmemcached.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/locking_service.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mypluglib.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mysql_clone.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mysql_no_login.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/rewrite_example.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/rewriter.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_master.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_slave.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_replica.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_source.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/validate_password.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/version_token.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/test_services_command_services.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/test_services_host_application_signal.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/binlog_utils_udf.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/test_udf_wrappers.so %if 0%{?mecab} %{_libdir}/mysql/mecab %attr(755, root, root) %{_libdir}/mysql/plugin/libpluginmecab.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libpluginmecab.so %endif #coredumper %attr(755, root, root) %{_includedir}/coredumper/coredumper.h %attr(755, root, root) /usr/lib/libcoredumper.a # Percona plugins -%attr(755, root, root) %{_libdir}/mysql/plugin/audit_log.so -%attr(755, root, root) %{_libdir}/mysql/plugin/audit_login_messages.so -#%attr(644, root, root) %{_datadir}/mysql-*/audit_log_filter_linux_install.sql -#%attr(755, root, root) %{_libdir}/mysql/plugin/authentication_pam.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/authentication_ldap_sasl.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/authentication_ldap_simple.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/keyring_okv.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/keyring_encrypted_file.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/mysql_clone.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/thread_pool.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/openssl_udf.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/firewall.so -#%attr(644, root, root) %{_datadir}/mysql-*/linux_install_firewall.sql -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/audit_log.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/audit_login_messages.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/scalability_metrics.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/debug/scalability_metrics.so %attr(755, root, root) %{_libdir}/mysql/plugin/auth_pam.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_pam.so %attr(755, root, root) %{_libdir}/mysql/plugin/auth_pam_compat.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_pam_compat.so -%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.* -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libfnv1a_udf.* -%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.* -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libfnv_udf.* -%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.* -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libmurmur_udf.* %attr(755, root, root) %{_libdir}/mysql/plugin/dialog.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/dialog.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/query_response_time.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/debug/query_response_time.so -%attr(755, root, root) %{_libdir}/mysql/plugin/keyring_vault.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/keyring_vault.so -# -#%attr(644, root, root) %{_datadir}/greatsql/fill_help_tables.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_sys_schema.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_system_tables.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_system_tables_data.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_test_data_timezone.sql %attr(644, root, root) %{_datadir}/greatsql/mysql-log-rotate -#%attr(644, root, root) %{_datadir}/greatsql/mysql_security_commands.sql %attr(644, root, root) %{_datadir}/greatsql/dictionary.txt -%attr(644, root, root) %{_datadir}/greatsql/innodb_memcached_config.sql %attr(644, root, root) %{_datadir}/greatsql/install_rewriter.sql %attr(644, root, root) %{_datadir}/greatsql/uninstall_rewriter.sql -%attr(644, root, root) %{_datadir}/greatsql/install_audit_log.sql +%attr(644, root, root) %{_datadir}/greatsql/audit_log_filter_linux_install.sql %attr(644, root, root) %{_datadir}/greatsql/sys_masking.sql -%attr(644, root, root) %{_datadir}/greatsql/uninstall_audit_log.sql %if 0%{?systemd} %attr(644, root, root) %{_unitdir}/mysqld.service %attr(644, root, root) %{_unitdir}/mysqld@.service @@ -1050,7 +995,6 @@ fi %attr(755, root, root) %{_datadir}/greatsql/spanish/ %attr(755, root, root) %{_datadir}/greatsql/swedish/ %attr(755, root, root) %{_datadir}/greatsql/ukrainian/ -#%attr(755, root, root) %{_datadir}/greatsql/mysql_system_users.sql %files -n greatsql-client %defattr(-, root, root, -) @@ -1062,19 +1006,22 @@ fi %attr(755, root, root) %{_bindir}/mysqldecrypt %attr(755, root, root) %{_bindir}/mysqldump %attr(755, root, root) %{_bindir}/mysqlimport -%attr(755, root, root) %{_bindir}/mysqlpump %attr(755, root, root) %{_bindir}/mysqlshow %attr(755, root, root) %{_bindir}/mysqlslap %attr(755, root, root) %{_bindir}/mysql_config_editor %attr(755, root, root) %{_bindir}/mysql_migrate_keyring %attr(755, root, root) %{_bindir}/mysql_keyring_encryption_test +%attr(755, root, root) %{_bindir}/mysql_client_load_balance_test +%attr(755, root, root) %{_bindir}/mysql_test_event_tracking +%if 0%{?add_ssl_lib} +%attr(755, root, root) %{_bindir}/my_openssl +%endif %attr(644, root, root) %{_mandir}/man1/mysql.1* %attr(644, root, root) %{_mandir}/man1/mysqladmin.1* %attr(644, root, root) %{_mandir}/man1/mysqlbinlog.1* %attr(644, root, root) %{_mandir}/man1/mysqlcheck.1* %attr(644, root, root) %{_mandir}/man1/mysqldump.1* -%attr(644, root, root) %{_mandir}/man1/mysqlpump.1* %attr(644, root, root) %{_mandir}/man1/mysqlimport.1* %attr(644, root, root) %{_mandir}/man1/mysqlshow.1* %attr(644, root, root) %{_mandir}/man1/mysqlslap.1* @@ -1101,17 +1048,22 @@ fi %doc %{?license_files_server} %dir %attr(755, root, root) %{_libdir}/mysql %attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf -%{_libdir}/mysql/lib%{shared_lib_pri_name}.so.21* - -#%if 0%{?compatlib} -#%files -n greatsql-shared-compat -#%defattr(-, root, root, -) -#%doc %{?license_files_server} -#%dir %attr(755, root, root) %{_libdir}/mysql -#%attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf -#%{_libdir}/mysql/libmysqlclient.so.%{compatlib}.* -#%{_libdir}/mysql/libmysqlclient_r.so.%{compatlib}.* -#%endif +%{_libdir}/mysql/lib%{shared_lib_pri_name}.so.24* +#coredumper +%attr(755, root, root) %{_includedir}/coredumper/coredumper.h +%attr(755, root, root) /usr/lib/libcoredumper.a + +%ifarch x86_64 +%if 0%{?compatlib} +%files -n greatsql-shared-compat +%defattr(-, root, root, -) +%doc %{?license_files_server} +%dir %attr(755, root, root) %{_libdir}/mysql +%attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +%{_libdir}/mysql/libmysqlclient.so.%{compatlib}.* +%{_libdir}/mysql/libmysqlclient_r.so.%{compatlib}.* +%endif +%endif %files -n greatsql-test %defattr(-, root, root, -) @@ -1195,97 +1147,11 @@ fi %attr(755, root, root) %{_libdir}/mysql/plugin/component_mysqlx_global_reset.so %attr(755, root, root) %{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so %attr(755, root, root) %{_libdir}/mysql/plugin/libtest_sql_reset_connection.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_mysql_runtime_error.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_reset_connection.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_test_plugin.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_example_component1.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_example_component2.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_example_component3.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_log_sink_test.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_backup_lock_service.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_string_service_charset.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_string_service_long.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_string_service.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_pfs_example.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_pfs_example_component_population.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/pfs_example_plugin_employee.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_pfs_notification.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_pfs_resource_group.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_udf_registration.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_mysql_current_thread_reader.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_reg_3_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_reg_avg_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_reg_int_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_reg_int_same_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_reg_only_3_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_reg_real_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_unreg_3_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_unreg_int_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_udf_unreg_real_func.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_sys_var_service_int.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_sys_var_service.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_sys_var_service_same.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_sys_var_service_str.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_status_var_service.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_status_var_service_int.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_status_var_service_reg_only.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_status_var_service_str.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_status_var_service_unreg_only.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_test_system_variable_source.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libdaemon_example.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/replication_observers_example_plugin.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_framework.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_services.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_services_threaded.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_session_detach.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_session_attach.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_session_in_thd.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_session_info.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_2_sessions.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_all_col_types.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_cmds_1.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_commit.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_complex.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_errors.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_lock.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_processlist.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_replication.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_shutdown.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_stmt.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_sqlmode.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_stored_procedures_functions.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_views_triggers.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_x_sessions_deinit.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_x_sessions_init.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_client.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_interface.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_server.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/test_security_context.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/test_services_plugin_registry.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/test_udf_services.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/udf_example.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/component_mysqlx_global_reset.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libtest_sql_sleep_is_connected.so - -#%if 0%{?tokudb} -#%files -n percona-server-tokudb -#%attr(-, root, root) -#%{_bindir}/tokuftdump -#%{_libdir}/mysql/plugin/ha_tokudb.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/debug/ha_tokudb.so -#%attr(755, root, root) %{_bindir}/tokuft_logprint -#%attr(755, root, root) %{_libdir}/mysql/plugin/tokudb_backup.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/debug/tokudb_backup.so -#%attr(755, root, root) %{_libdir}/mysql/libHotBackup.so -#%{_includedir}/backup.h -#%endif %if 0%{?rocksdb} %files -n greatsql-rocksdb %attr(-, root, root) %{_libdir}/mysql/plugin/ha_rocksdb.so -%attr(755, root, root) %{_libdir}/mysql/plugin/debug/ha_rocksdb.so %attr(755, root, root) %{_bindir}/ldb %attr(755, root, root) %{_bindir}/mysql_ldb %attr(755, root, root) %{_bindir}/sst_dump @@ -1310,12 +1176,26 @@ fi %else %{_sysconfdir}/init.d/mysqlrouter %endif -%{_libdir}/mysqlrouter/private/libmysqlharness*.so.* -%{_libdir}/mysqlrouter/private/libmysqlrouter*.so.* +%{_libdir}/mysqlrouter/private/libmysqlharness.so.* +%{_libdir}/mysqlrouter/private/libmysqlharness_stdx.so.* +%{_libdir}/mysqlrouter/private/libmysqlharness_tls.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_connection_pool.so.* %{_libdir}/mysqlrouter/private/libmysqlrouter_http.so.* %{_libdir}/mysqlrouter/private/libmysqlrouter_http_auth_backend.so.* %{_libdir}/mysqlrouter/private/libmysqlrouter_http_auth_realm.so.* %{_libdir}/mysqlrouter/private/libprotobuf-lite.so.* +%{_libdir}/mysqlrouter/private/libabsl_*.so +%{_libdir}/mysqlrouter/private/libmysqlrouter_io_component.so.1 +%{_libdir}/mysqlrouter/private/libmysqlrouter_metadata_cache.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_mysqlxmessages.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_routing.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_routing_connections.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_destination_status.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_cluster.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_http_server.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_mysql.so.* +%{_libdir}/mysqlrouter/private/libmysqlrouter_utils.so.* %dir %{_libdir}/mysqlrouter %dir %{_libdir}/mysqlrouter/private %{_libdir}/mysqlrouter/*.so @@ -1325,11 +1205,36 @@ fi %files -n greatsql-icu-data-files %defattr(-, root, root, -) %doc %{?license_files_server} -%dir %attr(755, root, root) %{_libdir}/mysql/private/icudt69l -%{_libdir}/mysql/private/icudt69l/unames.icu -%{_libdir}/mysql/private/icudt69l/brkitr +%dir %attr(755, root, root) %{_libdir}/mysql/private/icudt73l +%{_libdir}/mysql/private/icudt73l/unames.icu +%{_libdir}/mysql/private/icudt73l/cnvalias.icu +%{_libdir}/mysql/private/icudt73l/uemoji.icu +%{_libdir}/mysql/private/icudt73l/ulayout.icu +%{_libdir}/mysql/private/icudt73l/brkitr %changelog +* Mon Oct 20 2025 GreatSQL - 8.4.4-4.1 +- Release GreatSQL-8.4.4-4.1 + +* Thu Apr 24 2025 GreatSQL - 8.0.32-27.6 +- add mysql and mysqlrouter private dir into ldconfig search path +- update descriptions + +* Fri Apr 11 2025 Funda Wang - 8.0.32-27.5 +- greatsql-mysql-config was removed previously, my.cnf was moved + into greatsql-server package without conflicts and obsoletes + +* Tue Apr 1 2025 GreatSQL - 8.0.32-27.4 +- Remove greatsql-mysql-config, greatsql-shared-compat +- Clearly declare the conflicts list + +* Fri Mar 28 2025 Funda Wang - 8.0.32-27.3 +- fix requires_exclude + +* Mon Mar 24 2025 GreatSQL - 8.0.32-27.2 +- Remove debug build stage +- Add some new cmake options + * Mon Mar 10 2025 GreatSQL - 8.0.32-27.1 - Release GreatSQL-8.0.32-27.1 diff --git a/mysql-5.7-sharedlib-rename.patch b/mysql-5.7-sharedlib-rename.patch index a6c2978e6b1eb65d2e2986b8228851b5e4ca24ce..3a2829e8c0df0119b1e141f6513ca3abc0ad789c 100644 --- a/mysql-5.7-sharedlib-rename.patch +++ b/mysql-5.7-sharedlib-rename.patch @@ -1,39 +1,26 @@ ---- client/base/CMakeLists.txt 2018-08-18 03:29:34.986169793 -0400 -+++ client/base/CMakeLists.txt 2018-08-18 03:29:34.991586542 -0400 -@@ -51,4 +51,4 @@ - ${CMAKE_SOURCE_DIR}/client/multi_factor_passwordopt-vars.cc - ) - --TARGET_LINK_LIBRARIES(client_base perconaserverclient) -+TARGET_LINK_LIBRARIES(client_base mysqlclient) ---- client/CMakeLists.txt 2018-08-18 03:29:59.708213642 -0400 -+++ client/CMakeLists.txt 2018-08-18 03:29:59.712547041 -0400 -@@ -49,13 +49,13 @@ MYSQL_ADD_EXECUTABLE(mysql - mysql_dump_encrypt.cc - multi_factor_passwordopt-vars.cc +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index bc914d7df2f..d55b13b32f6 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -41,7 +41,7 @@ MYSQL_ADD_EXECUTABLE(mysql + multi_option.cc ${CMAKE_CURRENT_SOURCE_DIR}/common/user_registration.cc -- LINK_LIBRARIES perconaserverclient client_base ${MY_READLINE_LIBRARY} -+ LINK_LIBRARIES mysqlclient client_base ${MY_READLINE_LIBRARY} + ${CMAKE_SOURCE_DIR}/sql-common/sql_string.cc +- LINK_LIBRARIES perconaserverclient ${EDITLINE_LIBRARY} ++ LINK_LIBRARIES mysqlclient ${EDITLINE_LIBRARY} ) - IF(NOT WITHOUT_SERVER) - MYSQL_ADD_EXECUTABLE(mysql_upgrade - upgrade/program.cc -- LINK_LIBRARIES perconaserverclient client_base -+ LINK_LIBRARIES mysqlclient client_base - ) - ENDIF() - -@@ -73,7 +73,7 @@ MYSQL_ADD_EXECUTABLE(mysqltest + MYSQL_ADD_EXECUTABLE(mysqltest +@@ -58,7 +58,7 @@ MYSQL_ADD_EXECUTABLE(mysqltest COMPONENT Test DEPENDENCIES GenError GenClientError ENABLE_EXPORTS - LINK_LIBRARIES perconaserverclient + LINK_LIBRARIES mysqlclient ) - IF (WITH_COREDUMPER) - TARGET_LINK_LIBRARIES(mysqltest coredumper) -@@ -83,29 +83,29 @@ MYSQL_ADD_EXECUTABLE(mysqlcheck + + IF(MY_COMPILER_IS_GNU AND (WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO)) +@@ -73,30 +73,30 @@ MYSQL_ADD_EXECUTABLE(mysqlcheck check/mysqlcheck.cc check/mysqlcheck_core.cc multi_factor_passwordopt-vars.cc @@ -44,6 +31,7 @@ mysqldump.cc mysql_dump_encrypt.cc multi_factor_passwordopt-vars.cc + multi_option.cc - LINK_LIBRARIES perconaserverclient + LINK_LIBRARIES mysqlclient ) @@ -68,16 +56,16 @@ ) OPTION(WITH_JSON_BINLOG_LIBRARY -@@ -249,7 +249,7 @@ SET(MYSQLBINLOG_SOURCES +@@ -263,7 +263,7 @@ ENDIF() + SET(MYSQLBINLOG_LIBRARIES - binlogevents_static - client_base + mysql_binlog_event - perconaserverclient + mysqlclient ) IF(WITH_JSON_BINLOG_LIBRARY) -@@ -291,20 +291,20 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql) +@@ -305,20 +305,20 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql) MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc multi_factor_passwordopt-vars.cc @@ -100,32 +88,36 @@ - LINK_LIBRARIES perconaserverclient + LINK_LIBRARIES mysqlclient ) - MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup - logger.cc ---- client/migrate_keyring/CMakeLists.txt -+++ client/migrate_keyring/CMakeLists.txt -@@ -40,7 +40,7 @@ SET(MIGRATE_KEYRING_LIBRARIES + + # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". +diff --git a/client/migrate_keyring/CMakeLists.txt b/client/migrate_keyring/CMakeLists.txt +index 6a1a84930f4..0732706256b 100644 +--- a/client/migrate_keyring/CMakeLists.txt ++++ b/client/migrate_keyring/CMakeLists.txt +@@ -41,7 +41,7 @@ SET(MIGRATE_KEYRING_LIBRARIES ${CMAKE_DL_LIBS} minchassis mysys - perconaserverclient + mysqlclient - client_base - ${SSL_LIBRARIES} + OpenSSL::SSL OpenSSL::Crypto ) ---- include/mysql.h 2022-09-13 10:19:20.000000000 +0300 -+++ include/mysql.h 2022-09-13 12:40:29.000000000 +0300 -@@ -28,7 +28,7 @@ + +diff --git a/include/mysql.h b/include/mysql.h +index a9b54a38dd1..30ee50b7c41 100644 +--- a/include/mysql.h ++++ b/include/mysql.h +@@ -29,7 +29,7 @@ /** @file include/mysql.h This file defines the client API to MySQL and also the ABI of the - dynamically linked libperconaserverclient. + dynamically linked libmysqlclient. - + The ABI should never be changed in a released product of MySQL, thus you need to take great care when changing the file. In case -@@ -410,12 +410,12 @@ - +@@ -436,12 +436,12 @@ void STDCALL mysql_server_end(void); + /* mysql_server_init/end need to be called when using libmysqld or - libperconaserverclient (exactly, mysql_server_init() is called by @@ -139,11 +131,26 @@ mysql_server* ones. */ #define mysql_library_init mysql_server_init ---- libmysql/CMakeLists.txt -+++ libmysql/CMakeLists.txt -@@ -283,15 +283,15 @@ - # authentication IAM client plug-in - ADD_SUBDIRECTORY(authentication_oci_client) +diff --git a/libchangestreams/src/tests/CMakeLists.txt b/libchangestreams/src/tests/CMakeLists.txt +index 2e6145fa709..bddb319fa36 100644 +--- a/libchangestreams/src/tests/CMakeLists.txt ++++ b/libchangestreams/src/tests/CMakeLists.txt +@@ -39,7 +39,7 @@ SET(TESTS "") + SET(TEST_LINK_LIBRARIES + changestreams_standalone_static + mysql_binlog_event_standalone +- perconaserverclient ++ mysqlclient + ${GTEST_LIBRARIES}) + + # If we are using the protobuf extensions +diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt +index 5ef413d70d4..1db9696424e 100644 +--- a/libmysql/CMakeLists.txt ++++ b/libmysql/CMakeLists.txt +@@ -309,15 +309,15 @@ ADD_SUBDIRECTORY(authentication_oci_client) + # Fido and Webauthn clients + ADD_SUBDIRECTORY(fido_client) -# Merge several convenience libraries into one big perconaserverclient -MERGE_CONVENIENCE_LIBRARIES(perconaserverclient ${LIBS_TO_MERGE} @@ -160,7 +167,7 @@ INSTALL_DEBUG_TARGET(auth_win_client DESTINATION ${INSTALL_LIBDIR}/debug) INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug) -@@ -326,13 +326,13 @@ +@@ -352,13 +352,13 @@ IF(UNIX) STRING_APPEND(OS_SHARED_LIB_VERSION ".${SHARED_LIB_MINOR_VERSION}.${SHARED_LIB_PATCH_VERSION}") ENDIF() @@ -177,7 +184,7 @@ # and link them together into shared library. MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE} EXPORTS -@@ -353,7 +353,7 @@ +@@ -379,7 +379,7 @@ ENDIF() IF(LINUX_STANDALONE AND KERBEROS_CUSTOM_LIBRARY) ADD_DEPENDENCIES(libmysql ${kerberos_target}) @@ -186,7 +193,7 @@ ENDIF() IF(UNIX) -@@ -368,8 +368,8 @@ +@@ -394,8 +394,8 @@ IF(UNIX) ENDIF() # clean direct output needs to be set several targets have the same name @@ -197,17 +204,46 @@ SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1) ENDIF() ---- libmysql/libmysql.ver.in -+++ libmysql/libmysql.ver.in -@@ -21,5 +21,5 @@ +diff --git a/libmysql/authentication_kerberos/CMakeLists.txt b/libmysql/authentication_kerberos/CMakeLists.txt +index edb27e782a8..f84e8a7e80f 100644 +--- a/libmysql/authentication_kerberos/CMakeLists.txt ++++ b/libmysql/authentication_kerberos/CMakeLists.txt +@@ -66,7 +66,7 @@ IF(KERBEROS_LIB_SSPI) + LIST(APPEND UTILITY "sspi_utility.cc") + ENDIF() + +-SET(MY_SQL "perconaserverclient") ++SET(MY_SQL "mysqlclient") + + DISABLE_MISSING_PROFILE_WARNING() + +diff --git a/libmysql/fido_client/common/CMakeLists.txt b/libmysql/fido_client/common/CMakeLists.txt +index 3515ffd5c80..7810a8ce7e0 100644 +--- a/libmysql/fido_client/common/CMakeLists.txt ++++ b/libmysql/fido_client/common/CMakeLists.txt +@@ -45,6 +45,6 @@ ADD_CONVENIENCE_LIBRARY( + fido_client_common + ${FIDO_COMMON_SOURCES} + LINK_LIBRARIES +- perconaserverclient ++ mysqlclient + ext::fido + ) +diff --git a/libmysql/libmysql.ver.in b/libmysql/libmysql.ver.in +index 00c1bd2679d..588e8681a31 100644 +--- a/libmysql/libmysql.ver.in ++++ b/libmysql/libmysql.ver.in +@@ -22,5 +22,5 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -libperconaserverclient_@SHARED_LIB_MAJOR_VERSION@.0 +libmysqlclient_@SHARED_LIB_MAJOR_VERSION@.0 { global: ${CLIENT_API_FUNCTIONS};${CLIENT_API_FUNCTIONS_UNDOCUMENTED}; ${CLIENT_API_NONBLOCKING_FUNCTIONS}; local: *; }; ---- plugin/percona-pam-for-mysql/CMakeLists.txt -+++ plugin/percona-pam-for-mysql/CMakeLists.txt +diff --git a/plugin/percona-pam-for-mysql/CMakeLists.txt b/plugin/percona-pam-for-mysql/CMakeLists.txt +index d1c7ebb48c2..cff07ab755e 100644 +--- a/plugin/percona-pam-for-mysql/CMakeLists.txt ++++ b/plugin/percona-pam-for-mysql/CMakeLists.txt @@ -36,7 +36,7 @@ IF(HAVE_PAM AND HAVE_GETPWNAM_R AND HAVE_GETGRGID_R AND HAVE_DLFCN_H) MYSQL_ADD_PLUGIN(dialog src/dialog.cc @@ -217,8 +253,10 @@ MODULE_ONLY) IF(UNIX) ---- plugin/x/tests/driver/CMakeLists.txt -+++ plugin/x/tests/driver/CMakeLists.txt +diff --git a/plugin/x/tests/driver/CMakeLists.txt b/plugin/x/tests/driver/CMakeLists.txt +index 3d237507d52..2c0cd2c3224 100644 +--- a/plugin/x/tests/driver/CMakeLists.txt ++++ b/plugin/x/tests/driver/CMakeLists.txt @@ -42,7 +42,7 @@ MYSQL_ADD_EXECUTABLE(mysqlxtest LINK_LIBRARIES mysys @@ -227,41 +265,25 @@ + mysqlclient ${MYSQLX_CLIENT_FULL_LIB} ${MYSQLX_PROTOCOL_FULL_LIB} - ${PROTOBUF_LIBRARY} ---- router/src/router/src/CMakeLists.txt -+++ router/src/router/src/CMakeLists.txt -@@ -71,7 +71,7 @@ TARGET_LINK_LIBRARIES(router_lib - ${CMAKE_DL_LIBS} - harness-library + ext::libprotobuf +diff --git a/router/src/router/src/CMakeLists.txt b/router/src/router/src/CMakeLists.txt +index 821a008ab97..8485f8676df 100644 +--- a/router/src/router/src/CMakeLists.txt ++++ b/router/src/router/src/CMakeLists.txt +@@ -53,7 +53,7 @@ ROUTER_ADD_SHARED_LIBRARY(router_mysql + PUBLIC harness_stdx + harness-library # log_debug - perconaserverclient + mysqlclient - ${SSL_LIBRARIES} - io_component ) ---- router/tests/fuzzers/CMakeLists.txt -+++ router/tests/fuzzers/CMakeLists.txt -@@ -34,7 +34,7 @@ IF(LIBFUZZER_COMPILE_FLAGS) - - LINK_LIBRARIES - harness-library -- perconaserverclient -+ mysqlclient - ${SSL_LIBRARIES} - - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -@@ -62,7 +62,7 @@ IF(LIBFUZZER_COMPILE_FLAGS) - - LINK_LIBRARIES - harness-library -- perconaserverclient -+ mysqlclient - ${SSL_LIBRARIES} - - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ---- scripts/CMakeLists.txt -+++ scripts/CMakeLists.txt -@@ -302,7 +302,7 @@ ELSE() + IF(MY_COMPILER_IS_GNU AND (WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO)) + TARGET_LINK_OPTIONS(router_mysql PRIVATE -Wno-error=stringop-overflow) +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index 9e64871d21a..acbc376a2b3 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -384,7 +384,7 @@ ELSE() ENDIF() # Use cmake variables to inspect dependencies for @@ -270,7 +292,7 @@ SET(CLIENT_LIBS "") SET(LIBS "") -@@ -337,11 +337,11 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) +@@ -444,11 +444,11 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) STRING(REGEX REPLACE "[ ]+$" "" ${var} "${${var}}") ENDMACRO() @@ -285,9 +307,11 @@ ELSE() GET_TARGET_PROPERTY(LIBMYSQL_OS_SHLIB_VERSION libmysql VERSION) GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME) ---- storage/ndb/test/run-test/CMakeLists.txt -+++ storage/ndb/test/run-test/CMakeLists.txt -@@ -47,7 +47,7 @@ +diff --git a/storage/ndb/test/run-test/CMakeLists.txt b/storage/ndb/test/run-test/CMakeLists.txt +index a764694a28e..930bf0856e5 100644 +--- a/storage/ndb/test/run-test/CMakeLists.txt ++++ b/storage/ndb/test/run-test/CMakeLists.txt +@@ -48,7 +48,7 @@ MYSQL_ADD_EXECUTABLE(atrt test_execution_resources.cpp DESTINATION mysql-test/ndb ENABLE_EXPORTS @@ -296,9 +320,11 @@ ) IF(MY_COMPILER_IS_CLANG) ---- storage/ndb/tools/CMakeLists.txt -+++ storage/ndb/tools/CMakeLists.txt -@@ -230,10 +230,10 @@ IF(NOT WIN32 AND NOT SOLARIS) +diff --git a/storage/ndb/tools/CMakeLists.txt b/storage/ndb/tools/CMakeLists.txt +index e28169d664f..63bd165fda4 100644 +--- a/storage/ndb/tools/CMakeLists.txt ++++ b/storage/ndb/tools/CMakeLists.txt +@@ -253,10 +253,10 @@ IF(NOT WIN32) COMPONENT ClusterTools ) IF(NCURSES_HAS_STDSCR) @@ -311,45 +337,74 @@ ${NCURSESW_LIB} ${NCURSES_TINFO_LIB}) ENDIF() ---- testclients/CMakeLists.txt -+++ testclients/CMakeLists.txt -@@ -23,9 +23,9 @@ +diff --git a/testclients/CMakeLists.txt b/testclients/CMakeLists.txt +index 8346c512868..cce6817e9df 100644 +--- a/testclients/CMakeLists.txt ++++ b/testclients/CMakeLists.txt +@@ -24,7 +24,7 @@ ADD_WSHADOW_WARNING() MYSQL_ADD_EXECUTABLE(mysql_client_test mysql_client_test.cc COMPONENT Test) --TARGET_LINK_LIBRARIES(mysql_client_test perconaserverclient) -+TARGET_LINK_LIBRARIES(mysql_client_test mysqlclient) +-TARGET_LINK_LIBRARIES(mysql_client_test perconaserverclient extra::rapidjson) ++TARGET_LINK_LIBRARIES(mysql_client_test mysqlclient extra::rapidjson) + + # We *do* calculate that there is space, see: + # printf("Warning: MYSQL_TMP_DIR is too long. Logging is disabled.\n"); +@@ -35,8 +35,8 @@ ENDIF() IF(WITH_UNIT_TESTS) - MYSQL_ADD_EXECUTABLE(bug25714 bug25714.cc SKIP_INSTALL) + MYSQL_ADD_EXECUTABLE(bug25714 bug25714.cc SKIP_INSTALL EXCLUDE_FROM_PGO) - TARGET_LINK_LIBRARIES(bug25714 perconaserverclient) + TARGET_LINK_LIBRARIES(bug25714 mysqlclient) ENDIF() ---- unittest/gunit/group_replication/CMakeLists.txt -+++ unittest/gunit/group_replication/CMakeLists.txt -@@ -47,7 +47,7 @@ + + MYSQL_ADD_EXECUTABLE(mysql_client_load_balance_test mysql_client_load_balance_test.cc COMPONENT Test) +-TARGET_LINK_LIBRARIES(mysql_client_load_balance_test perconaserverclient) ++TARGET_LINK_LIBRARIES(mysql_client_load_balance_test mysqlclient) +diff --git a/unittest/gunit/changestreams/CMakeLists.txt b/unittest/gunit/changestreams/CMakeLists.txt +index 2ff4143d32a..9a96491b34e 100644 +--- a/unittest/gunit/changestreams/CMakeLists.txt ++++ b/unittest/gunit/changestreams/CMakeLists.txt +@@ -37,7 +37,7 @@ SET(TESTS + SET(TESTS_LINK_LIBRARIES + changestreams_standalone_static + mysql_binlog_event_standalone +- perconaserverclient ++ mysqlclient + gunit_small) + + IF (WITH_CS_PROTOBUF) +diff --git a/unittest/gunit/group_replication/CMakeLists.txt b/unittest/gunit/group_replication/CMakeLists.txt +index 01f1ff8ea58..34092038c39 100644 +--- a/unittest/gunit/group_replication/CMakeLists.txt ++++ b/unittest/gunit/group_replication/CMakeLists.txt +@@ -50,7 +50,7 @@ FOREACH(test ${TESTS}) gr_unit_test_resource gunit_large server_unittest_library - perconaserverclient + mysqlclient mysqlgcs + mysql_gtid ) - ENDFOREACH() ---- unittest/gunit/xplugin/xcl/CMakeLists.txt -+++ unittest/gunit/xplugin/xcl/CMakeLists.txt -@@ -77,7 +77,7 @@ TARGET_LINK_LIBRARIES(${XCL_UNIT_TESTS} - ${MYSQLX_PROTOCOL_FULL_LIB} - ${PROTOBUF_LIBRARY} - ${LZ4_LIBRARY} +diff --git a/unittest/gunit/xplugin/xcl/CMakeLists.txt b/unittest/gunit/xplugin/xcl/CMakeLists.txt +index c396193bcef..f03fcb229a2 100644 +--- a/unittest/gunit/xplugin/xcl/CMakeLists.txt ++++ b/unittest/gunit/xplugin/xcl/CMakeLists.txt +@@ -70,7 +70,7 @@ TARGET_LINK_LIBRARIES(${XCL_UNIT_TESTS} + harness_net_ts + ext::libprotobuf + ext::lz4 - perconaserverclient + mysqlclient gtest gmock ) ---- unittest/gunit/xplugin/xpl/CMakeLists.txt -+++ unittest/gunit/xplugin/xpl/CMakeLists.txt -@@ -115,7 +115,7 @@ TARGET_LINK_LIBRARIES(${XPL_UNIT_TESTS} +diff --git a/unittest/gunit/xplugin/xpl/CMakeLists.txt b/unittest/gunit/xplugin/xpl/CMakeLists.txt +index 3f09416ba7b..8d4b16d288a 100644 +--- a/unittest/gunit/xplugin/xpl/CMakeLists.txt ++++ b/unittest/gunit/xplugin/xpl/CMakeLists.txt +@@ -81,7 +81,7 @@ TARGET_LINK_LIBRARIES(xplugin_unit_tests ${GCOV_LDFLAGS} ${MYSQLX_CLIENT_LIB} mysqlx @@ -358,76 +413,3 @@ gtest gmock ) -#--- storage/tokudb/PerconaFT/tools/CMakeLists.txt 2018-08-29 12:23:52.000000000 -0400 -#+++ storage/tokudb/PerconaFT/tools/CMakeLists.txt 2018-08-29 12:41:38.711986474 -0400 -#@@ -20,7 +20,7 @@ -# target_link_libraries(${tool} sql binlog rpl master slave) -# endif () -# else () -#- target_link_libraries(${tool} perconaserverclient) -#+ target_link_libraries(${tool} mysqlclient) -# endif () -# endif () - ---- libmysql/authentication_kerberos/CMakeLists.txt 2021-09-28 04:49:14.000000000 +0000 -+++ libmysql/authentication_kerberos/CMakeLists.txt 2021-09-28 09:24:09.917822028 +0000 -@@ -65,7 +65,7 @@ - LIST(APPEND UTILITY "sspi_utility.cc") - ENDIF() - --SET(MY_SQL "perconaserverclient") -+SET(MY_SQL "mysqlclient") - - DISABLE_MISSING_PROFILE_WARNING() - ---- unittest/gunit/changestreams/CMakeLists.txt 2022-03-31 15:09:27.559009464 +0000 -+++ unittest/gunit/changestreams/CMakeLists.txt 2022-03-31 15:10:26.404854666 +0000 -@@ -36,7 +36,7 @@ - SET(TESTS_LINK_LIBRARIES - changestreams_standalone_static - binlogstandalone_static -- perconaserverclient -+ mysqlclient - gunit_small) - - IF (WITH_CS_PROTOBUF) - ---- router/src/router/tests/CMakeLists.txt 2022-07-26 08:37:14.834824576 +0000 -+++ router/src/router/tests/CMakeLists.txt 2022-07-26 08:38:26.484931770 +0000 -@@ -130,7 +130,7 @@ - ADD_HARNESS_TEST_FILE(test_mysql_session.cc - MODULE ${TEST_MODULE} - LIB_DEPENDS -- test-helpers perconaserverclient -+ test-helpers mysqlclient - EXTRA_SOURCES - ../src/common/mysql_session.cc - ../src/common/log_filter.cc -@@ -146,7 +146,7 @@ - ADD_HARNESS_TEST_FILE(test_metadata_check.cc - MODULE ${TEST_MODULE} - LIB_DEPENDS -- test-helpers perconaserverclient -+ test-helpers mysqlclient - EXTRA_SOURCES - ../src/common/mysql_session.cc - ../src/common/log_filter.cc -@@ -168,7 +168,7 @@ - ADD_HARNESS_TEST_FILE(test_cluster_metadata.cc - MODULE ${TEST_MODULE} - LIB_DEPENDS -- test-helpers perconaserverclient -+ test-helpers mysqlclient - EXTRA_SOURCES - ../src/common/mysql_session.cc - ../src/common/log_filter.cc -@@ -190,7 +190,7 @@ - ADD_HARNESS_TEST_FILE(test_windows_service.cc - MODULE ${TEST_MODULE} - LIB_DEPENDS -- test-helpers perconaserverclient -+ test-helpers mysqlclient - EXTRA_SOURCES - ../src/windows/main-windows.cc - ../src/windows/nt_servc.cc - diff --git a/mysqld.cnf b/mysqld.cnf index 8b54db6c47b8dd6667a149ac117ff4f12a1d441e..f022766215fdf9e2fdcaeba3f6db4de5f5a6c24e 100644 --- a/mysqld.cnf +++ b/mysqld.cnf @@ -2,6 +2,8 @@ # # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html +[client] +socket=/var/lib/mysql/mysql.sock [mysqld] # @@ -26,11 +28,9 @@ # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin # default-authentication-plugin=mysql_native_password -# The default mysql directories are as follow -# datadir=/var/lib/mysql -# socket=/var/lib/mysql/mysql.sock -# log-error=/var/log/mysqld.log -# pid-file=/var/run/mysqld/mysqld.pid +datadir=/var/lib/mysql +socket=/var/lib/mysql/mysql.sock + +log-error=/var/log/mysqld.log +pid-file=/var/run/mysqld/mysqld.pid -# Keep the same behavior like other MySQL based/series Databases(MariaDB, Percona, GreatSQL, MySQL5.7 and MySQL8.0) -!includedir /etc/my.cnf.d diff --git "a/openEuler-25.03-GreatSQL\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/openEuler-25.09-GreatSQL\346\265\213\350\257\225\346\212\245\345\221\212.md" similarity index 35% rename from "openEuler-25.03-GreatSQL\346\265\213\350\257\225\346\212\245\345\221\212.md" rename to "openEuler-25.09-GreatSQL\346\265\213\350\257\225\346\212\245\345\221\212.md" index 832f3e5a032a99b8e45ca743f83678c8a4e3cf1c..f94f48eb69b1ca527fade13fe6bcd714df2a1039 100644 --- "a/openEuler-25.03-GreatSQL\346\265\213\350\257\225\346\212\245\345\221\212.md" +++ "b/openEuler-25.09-GreatSQL\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -1,4 +1,4 @@ -# openEuler-25.03-GreatSQL测试报告 +# openEuler-25.09-GreatSQL测试报告 ![avatar](../../images/openEuler.png) @@ -9,11 +9,11 @@ | 日期 | 修订 版本 | 修改描述 | 作者 | | ---- | ----------- | -------- | ---- | -| 2025.03.05 | 1.0 | GreatSQL测试报告v1 |@GreatSQL| +| 2025.10.21 | 1.0 | GreatSQL测试报告v1 |@GreatSQL| 关键词:GreatSQL -摘要:按照 GreatSQL 8.0.32-27 测试用例要求,部署 openEuler 25.03 测试镜像环境,对 GreatSQL 的源码编译、src.rpm包编译安装、RPM安装、二进制包安装、主要功能进行测试。测试结果良好,完全支持 GreatSQL 主要功能的正常使用。 +摘要:按照 GreatSQL 8.4.4-4 测试用例要求,部署 openEuler 25.09 测试镜像环境,对 GreatSQL 的源码编译、src.rpm包编译安装、RPM安装、二进制包安装、主要功能进行测试。测试结果良好,完全支持 GreatSQL 主要功能的正常使用。 缩略语清单: @@ -32,7 +32,7 @@ # 1 特性概述 -本测试报告为 GreatSQL 8.0.32-27 在 openEuler 25.03 操作系统上的测试报告,目的在于跟踪测试阶段中发现的问题,总结 GreatSQL 在 openEuler 25.03 操作系统中运行状况&功能特性支持的测试结果,测试的范围主要包括 GreatSQL 源码编译、src.rpm包编译安装、RPM安装、二进制包安装、主要功能及性能、稳定性等方面进行测试。 +本测试报告为 GreatSQL 8.4.4-4 在 openEuler 25.09 操作系统上的测试报告,目的在于跟踪测试阶段中发现的问题,总结 GreatSQL 在 openEuler 25.09 操作系统中运行状况&功能特性支持的测试结果,测试的范围主要包括 GreatSQL 源码编译、src.rpm包编译安装、RPM安装、二进制包安装、主要功能及性能、稳定性等方面进行测试。 # 2 特性测试信息 @@ -40,7 +40,7 @@ | 版本名称 | 测试起始时间 | 测试结束时间 | 备注 | | -------- | ------------ | ------------ | --- | -| openEuler-25.03 | 2025年03月04日 | 2025年03月05日 | | +| openEuler-25.09 | 2025年10月20日 | 2025年10月21日 | | 描述特性测试的硬件环境信息 @@ -52,7 +52,7 @@ ## 3.1 测试整体结论 -在 Docker 容器中启动 openEuler 25.03 测试镜像,在此基础上进行 GreatSQL 8.0.32-27 测试,共执行 139 个测试项,主要涵盖了 GreatSQL 源码编译、RPM安装、二进制包安装、MGR增强、Binlog读取限速、Clone复制数据时自动最新节点、并行LOAD DATA、异步删除大表、非阻塞式DDL、NUMA亲和性优化、Oracle兼容、Clone备份加密、Clone增量备份、Clone压缩备份、审计、数据脱敏、最后登录信息等主要功能特性等方面,主要功能均通过测试,无风险,整体核心功能稳定正常。 +在 Docker 容器中启动 openEuler 25.09 测试镜像,在此基础上进行 GreatSQL 8.4.4-4 测试,共执行 139 个测试项,主要涵盖了 GreatSQL 源码编译、RPM安装、二进制包安装、MGR增强、Binlog读取限速、Clone复制数据时自动最新节点、并行LOAD DATA、异步删除大表、非阻塞式DDL、NUMA亲和性优化、Oracle兼容、Clone备份加密、Clone增量备份、Clone压缩备份、审计、数据脱敏等主要功能特性等方面,主要功能均通过测试,无风险,整体核心功能稳定正常。 ## 3.2 约束说明 @@ -70,7 +70,7 @@ | 版本名称 | 特性名字 | 测试用例数 | 用例执行结果 | 发现问题单数 | | -------- |---------- | ---------- | ------------ | ------------ | -| openEuler-25.03 | GreatSQL 8.0.32-27 | 146 | Pass | 0 | +| openEuler-25.09 | GreatSQL 8.4.4-4 | 139 | Pass | 0 | ## 4.2 后续测试建议 @@ -82,72 +82,71 @@ | 序号 | 特性名称 | 遗留问题 | 备注 | | --- | :--- | :--- | :--- | -| 1 | [MGR 地理标签](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-zoneid.html) | 无 | 可以对每个节点设置地理标签,主要用于解决多机房数据同步的问题。可以提升多机房架构数据可靠性。| -| 2 | [MGR 读写动态 VIP](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-vip.html) | 无 | 支持对MGR节点绑定VIP,使得高可用切换更便捷。| -| 3 | [MGR 切主后断开应用连接](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-kill-conn-after-switch.html) | 无 | 在MGR发生切换时,主动断开旧Primary节点上的所有连接。| -| 4 | [MGR Arbitrator(仲裁节点)](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-arbitrator.html) | 无 | 仲裁节点(投票节点)不存储数据和binlog,无应用事务,使得可以用更低的服务器成本实现更高可用。| -| 5 | [MGR 快速单主模式](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-fast-mode.html) | 无 | 在这个模式下,不再采用MGR原有的认证数据库方式,而是判断当前binlog是否能够及时入盘来决定怎么样流控,确保不OOM。| -| 6 | [MGR 智能选主](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-election-mode.html) | 无 | 支持多种智能选主模式,使得高可用切换选主机制更合理。 | -| 7 | [MGR 全新流控算法](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-new-fc.html) | 无 | 重新设计了流控算法,除了会考虑认证数据库队列大小的因素,并同时考虑了大事务处理和主从节点的同步,流控粒度更细致,不会出现官方社区版本的1秒小抖动问题。| -| 8 | [MGR 网络开销阈值](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-request-time.html) | 无 | 记录超过阈值的事件,便于进一步分析。| -| 9 | [主主双向复制防止回路](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-repl-server-mode.html) | 无 | 控制只应用多源复制管道内临近主节点上产生的binlog,不会应用其他的非临近节点产生的binlog,避免出现数据回路问题。| -| 10 | [Binlog 读取限速及相应状态变量](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-binlog-speed-limit.html) | 无 | 控制从节点上向主节点发起 Binlog 读取请求的限速。| -| 11 | [节点异常状态判断更完善和高效](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | 可定义节点超过多少秒没发消息会被判定为可疑,提高异常检测判断效率。| -| 12 | [Clone复制数据时自动选择最新节点](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | 自动选择从最新事务数据的成员节点复制数据,可有效提升 Clone 速度,提高 MGR 的服务可靠性。| -| 13 | [支持AFTER模式下多数派写机制](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 14 | [解决磁盘空间爆满时导致MGR集群阻塞的问题](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 15 | [解决多主模式下或切主时可能导致丢数据的问题](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 16 | [解决节点异常退出集群时导致性能抖动的问题](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 17 | [优化了加入节点时可能导致性能剧烈抖动的问题](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 18 | [优化手工选主机制,解决了长事务造成无法选主的问题](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 19 | [优化了加入节点时可能导致性能剧烈抖动的问题](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 20 | [优化了MGR大事务传输时压缩超过限制的处理机制](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-2-ha-mgr-improved.html) | 无 | -| 21 | [对greatdb_ha_port端口的防护处理](https://greatsql.cn/docs/8.0.32-27/1-docs-intro/relnotes/changes-greatsql-8-0-32-27.html) | 无 | +| 1 | [MGR 地理标签](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-zoneid.html) | 无 | 可以对每个节点设置地理标签,主要用于解决多机房数据同步的问题。可以提升多机房架构数据可靠性。| +| 2 | [MGR 读写动态 VIP](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-vip.html) | 无 | 支持对MGR节点绑定VIP,使得高可用切换更便捷。| +| 3 | [MGR 切主后断开应用连接](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-kill-conn-after-switch.html) | 无 | 在MGR发生切换时,主动断开旧Primary节点上的所有连接。| +| 4 | [MGR Arbitrator(仲裁节点)](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-arbitrator.html) | 无 | 仲裁节点(投票节点)不存储数据和binlog,无应用事务,使得可以用更低的服务器成本实现更高可用。| +| 5 | [MGR 快速单主模式](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-fast-mode.html) | 无 | 在这个模式下,不再采用MGR原有的认证数据库方式,而是判断当前binlog是否能够及时入盘来决定怎么样流控,确保不OOM。| +| 6 | [MGR 智能选主](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-election-mode.html) | 无 | 支持多种智能选主模式,使得高可用切换选主机制更合理。 | +| 7 | [MGR 全新流控算法](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-new-fc.html) | 无 | 重新设计了流控算法,除了会考虑认证数据库队列大小的因素,并同时考虑了大事务处理和主从节点的同步,流控粒度更细致,不会出现官方社区版本的1秒小抖动问题。| +| 8 | [MGR 网络开销阈值](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-request-time.html) | 无 | 记录超过阈值的事件,便于进一步分析。| +| 9 | [主主双向复制防止回路](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-repl-server-mode.html) | 无 | 控制只应用多源复制管道内临近主节点上产生的binlog,不会应用其他的非临近节点产生的binlog,避免出现数据回路问题。| +| 10 | [Binlog 读取限速及相应状态变量](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-binlog-speed-limit.html) | 无 | 控制从节点上向主节点发起 Binlog 读取请求的限速。| +| 11 | [节点异常状态判断更完善和高效](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | 可定义节点超过多少秒没发消息会被判定为可疑,提高异常检测判断效率。| +| 12 | [Clone复制数据时自动选择最新节点](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | 自动选择从最新事务数据的成员节点复制数据,可有效提升 Clone 速度,提高 MGR 的服务可靠性。| +| 13 | [支持AFTER模式下多数派写机制](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 14 | [解决磁盘空间爆满时导致MGR集群阻塞的问题](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 15 | [解决多主模式下或切主时可能导致丢数据的问题](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 16 | [解决节点异常退出集群时导致性能抖动的问题](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 17 | [优化了加入节点时可能导致性能剧烈抖动的问题](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 18 | [优化手工选主机制,解决了长事务造成无法选主的问题](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 19 | [优化了加入节点时可能导致性能剧烈抖动的问题](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 20 | [优化了MGR大事务传输时压缩超过限制的处理机制](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-2-ha-mgr-improved.html) | 无 | +| 21 | [对greatdb_ha_port端口的防护处理](https://greatsql.cn/docs/8.4.4-4/1-docs-intro/relnotes/changes-greatsql-8.4.4-4.html) | 无 | ### 4.3.2 高性能特性测试结论 | 序号 | 特性名称 | 遗留问题 | 备注 | | --- | :--- | :--- | :--- | -| 1 | [新版本Rapid引擎](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-rapid-engine.html) | 无 | 可满足企业级 OLAP 应用场景的Rapid引擎,在32C64G实例下TPC-H SF100测试仅耗时不到80秒。| -| 2 | [高性能并行查询引擎Turbo](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-turbo-engine.html) | 无 | 可满足企业级轻量 OLAP 应用场景的Turbo引擎,在32C64G实例下TPC-H SF100测试仅耗时仅约214秒。| -| 3 | [InnoDB并行查询](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-innodb-pq.html) | 无 | 通过多线程改造,GreatSQL InnoDB PQ可以充分利用多核资源,提升查询性能。GreatSQL在TPC-H测试中表现优异,最高可提升30倍,平均提升15倍。| -| 4 | [并行 LOAD DATA](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-parallel-load.html) | 无 | 自动将导入的文件切分文件成多个小块,启动多个 Worker 线程并行导入文件块,数据导入性能提升最高约20倍。| -| 5 | [并行 LOAD DATA时无主键表并行导入优化](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-parallel-load.html) | 无 | 对无主键表并行LOAD DATA场景进行优化,可提升约5倍。| -| 6 | [InnoDB异步删除大表](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-async-purge-big-table.html) | 无 | 利用后台线程来异步缓慢地删除数据文件,避免删除大表时产生性能波动。| -| 7 | [非阻塞式 DDL](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-nonblocking-ddl.html) | 无 | 进行多次申请 MDL-X 锁的尝试,而非原生的独占申请方式,这就可以在多次重试的间隙释放锁资源允许新事务进行。| -| 8 | [NUMA 亲和性优化](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-numa-affinity.html) | 无 | 利用 NUMA 亲和性与内存分配策略,让进程与内存的距离尽量短,提升性能。| -| 9 | [线程池(Thread pool)](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-1-highperf-thread-pool.html) | 无 | 可以避免在连接数瞬间激增时因资源竞争而导致系统吞吐下降的问题,使得GreatSQL的性能表现更稳定。| +| 1 | [新版本Rapid引擎](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-rapid-engine.html) | 无 | 可满足企业级 OLAP 应用场景的Rapid引擎,在32C64G实例下TPC-H SF100测试仅耗时不到80秒。| +| 2 | [高性能并行查询引擎Turbo](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-turbo-engine.html) | 无 | 可满足企业级轻量 OLAP 应用场景的Turbo引擎,在32C64G实例下TPC-H SF100测试仅耗时仅约214秒。| +| 3 | [InnoDB并行查询](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-innodb-pq.html) | 无 | 通过多线程改造,GreatSQL InnoDB PQ可以充分利用多核资源,提升查询性能。GreatSQL在TPC-H测试中表现优异,最高可提升30倍,平均提升15倍。| +| 4 | [并行 LOAD DATA](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-parallel-load.html) | 无 | 自动将导入的文件切分文件成多个小块,启动多个 Worker 线程并行导入文件块,数据导入性能提升最高约20倍。| +| 5 | [并行 LOAD DATA时无主键表并行导入优化](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-parallel-load.html) | 无 | 对无主键表并行LOAD DATA场景进行优化,可提升约5倍。| +| 6 | [InnoDB异步删除大表](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-async-purge-big-table.html) | 无 | 利用后台线程来异步缓慢地删除数据文件,避免删除大表时产生性能波动。| +| 7 | [非阻塞式 DDL](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-nonblocking-ddl.html) | 无 | 进行多次申请 MDL-X 锁的尝试,而非原生的独占申请方式,这就可以在多次重试的间隙释放锁资源允许新事务进行。| +| 8 | [NUMA 亲和性优化](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-numa-affinity.html) | 无 | 利用 NUMA 亲和性与内存分配策略,让进程与内存的距离尽量短,提升性能。| +| 9 | [线程池(Thread pool)](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-1-highperf-thread-pool.html) | 无 | 可以避免在连接数瞬间激增时因资源竞争而导致系统吞吐下降的问题,使得GreatSQL的性能表现更稳定。| ### 4.3.3 高兼容特性测试结论 | 序号 | 特性名称 | 遗留问题 | 备注 | | --- | :--- | :--- | :--- | -| 1 | [数据类型兼容](https://greatsql.cn/docs/8.0.32-25/5-enhance/5-3-easyuse.html#%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%85%BC%E5%AE%B9) | 无 | 采用映射方式实现Oracle数据类型兼容。| -| 2 | [SQL语法兼容](https://greatsql.cn/docs/8.0.32-25/5-enhance/5-3-easyuse.html#sql%E8%AF%AD%E6%B3%95%E5%85%BC%E5%AE%B9) | 无 | 兼容大部分Oracle SQL语法。 -| 3 | [函数兼容](https://greatsql.cn/docs/8.0.32-25/5-enhance/5-3-easyuse.html#%E5%87%BD%E6%95%B0%E5%85%BC%E5%AE%B9) | 无 | 兼容大部分Oracle函数。| -| 3 | [存储程序兼容](https://greatsql.cn/docs/8.0.32-25/5-enhance/5-3-easyuse.html#%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B-%E5%87%BD%E6%95%B0%E5%85%BC%E5%AE%B9) | 无 | 兼容大部分Oracle存储程序。| +| 1 | [数据类型兼容](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-3-easyuse.html#%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%85%BC%E5%AE%B9) | 无 | 采用映射方式实现Oracle数据类型兼容。| +| 2 | [SQL语法兼容](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-3-easyuse.html#sql%E8%AF%AD%E6%B3%95%E5%85%BC%E5%AE%B9) | 无 | 兼容大部分Oracle SQL语法。 +| 3 | [函数兼容](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-3-easyuse.html#%E5%87%BD%E6%95%B0%E5%85%BC%E5%AE%B9) | 无 | 兼容大部分Oracle函数。| +| 3 | [存储程序兼容](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-3-easyuse.html#%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B-%E5%87%BD%E6%95%B0%E5%85%BC%E5%AE%B9) | 无 | 兼容大部分Oracle存储程序。| ### 4.3.4 高安全特性测试结论 | 序号 | 特性名称 | 遗留问题 | 备注 | | --- | :--- | :--- | :--- | -| 1 | [mysqldump备份加密](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-4-security-mysqldump-encrypt.html) | 无 | 支持在 mysqldump 进行逻辑备份时产生加密备份文件,并且也支持对加密后的备份文件解密导入。| -| 2 | [Clone 备份加密](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-4-security-clone-encrypt.html) | 无 | 支持在执行 Clone 备份时加密备份文件,以及对加密后的备份文件解密。| -| 3 | [审计](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-4-security-audit.html) | 无 | 支持审计功能,并将审计日志写入数据表中,并且设置审计日志入表规则,以便达到不同的审计需求。| -| 4 | [国密加密](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-4-security-encrypt-with-gmssl.html) | 无 | 支持在通信加密和 InnoDB 表空间加密时采用国密算法。| -| 5 | [数据脱敏](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-4-security-data-masking.html) | 无 | 数据脱敏有助于防止非授权用户访问敏感数据,从而限制敏感数据的暴露。| -| 6 | [记录指定用户的登入信息](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-4-security-last-login.html) | 无 | 可查看上一次成功登录以及上一次成功登录后所有的失败登录信息。| +| 1 | [mysqldump备份加密](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-4-security-mysqldump-encrypt.html) | 无 | 支持在 mysqldump 进行逻辑备份时产生加密备份文件,并且也支持对加密后的备份文件解密导入。| +| 2 | [Clone 备份加密](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-4-security-clone-encrypt.html) | 无 | 支持在执行 Clone 备份时加密备份文件,以及对加密后的备份文件解密。| +| 3 | [审计](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-4-security-audit.html) | 无 | 支持审计功能,并将审计日志写入数据表中,并且设置审计日志入表规则,以便达到不同的审计需求。| +| 4 | [国密加密](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-4-security-encrypt-with-gmssl.html) | 无 | 支持在通信加密和 InnoDB 表空间加密时采用国密算法。| +| 5 | [数据脱敏](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-4-security-data-masking.html) | 无 | 数据脱敏有助于防止非授权用户访问敏感数据,从而限制敏感数据的暴露。| ### 4.3.5 其他特性测试结论 | 序号 | 特性名称 | 遗留问题 | 备注 | | --- | :--- | :--- | :--- | -| 1 | [Clone 压缩及增量备份](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-5-clone-compressed-and-incrment-backup.html) | 无 | 支持 Clone 在线全量热备和增量备份,以及压缩备份。| -| 2 | [InnoDB Page压缩算法支持Zstd](https://greatsql.cn/docs/8.0.32-27/5-enhance/5-5-innodb-page-compression.html) | 无 | 使得Page压缩率进一步得到提高,尤其是当表中有大量重复字符类型数据时。 +| 1 | [Clone 压缩及增量备份](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-5-clone-compressed-and-incrment-backup.html) | 无 | 支持 Clone 在线全量热备和增量备份,以及压缩备份。| +| 2 | [InnoDB Page压缩算法支持Zstd](https://greatsql.cn/docs/8.4.4-4/5-enhance/5-5-innodb-page-compression.html) | 无 | 使得Page压缩率进一步得到提高,尤其是当表中有大量重复字符类型数据时。 。| # 5 附件 测试功能点清单 -![greatsql-803227-oe2503-test-result](./greatsql-803227-oe2503-test-result-20250305.png) +![GreatSQL 8.4.4-4 for openEuler 25.09回归测试结果](./greatsql-84444-oe2509-test-result-20251021.png)