跳转到主要内容
VillageSQL 也可以基于 Percona Server 构建,它是 MySQL 的一个源代码兼容分支,并添加了自有的存储、性能和可观测性功能。

这是什么

这是一个基于 Percona 8.4 代码库(而非上游 MySQL 8.4)构建的 VillageSQL 服务器。VillageSQL 扩展框架、它的 SQL 命令及其扩展在两者上的工作方式完全相同 ——Percona 构建只是在同一个 VillageSQL 表层之下换了一套不同的基础。 VillageSQL 的文档不涵盖 Percona 自身的功能。关于 Percona Server 本身的任何内容——它的存储引擎、调优选项或配置——请参阅 Percona 的官方文档。

未包含的内容

此构建不包含 Percona 的三项功能。 MyRocks。 RocksDB 存储引擎未被构建,因此 SHOW ENGINES 不会列出 ROCKSDB,也不存在 rocksdb_* 系统变量。指定该引擎的表会失败:
恢复来自 Percona 服务器的转储时,会在第一个指定该引擎的表处停止,此前创建的表会 保留,其余的会被跳过。 KMIP 密钥环组件。 component_keyring_file、component_keyring_kms 和 component_keyring_vault 都会随附并且可以安装。component_keyring_kmip 未被构建,安装它会以 ERROR 1126 失败。 Percona 的 coredumper。 --coredumper 选项仍然会被接受,因为服务器无论该库是否 被构建都会注册这个选项,但这里并没有构建该库。 Percona 的其他新增功能正常工作,包括 percona_udf 组件、审计日志插件,以及 USER_STATISTICS 和 TABLE_STATISTICS 视图,后两者在执行 SET GLOBAL userstat = ON 之后才会填充数据。

识别 Percona 构建

Percona 构建会在其版本字符串中报告不同的代码库:
有关该变量的含义,请参阅系统参考。 VillageSQL 拒绝将某个代码库(例如 mysql-8.4)的数据目录升级到运行另一个代码库 (例如 percona-8.4)的服务器上。

后续步骤

安装

使用安装脚本、Docker 或源码构建来安装 Percona 构建。

安装扩展

为服务器添加新的类型和函数。

系统参考

用于扩展元数据和服务器状态的系统视图与变量。

服务器开发指南

调试、测试服务器代码并为其做出贡献。