Skip to main content
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_filecomponent_keyring_kmscomponent_keyring_vault 都会随附并且可以安装。component_keyring_kmip 未被构建,安装它会以 ERROR 1126 失败。 Percona 的 coredumper。 --coredumper 选项仍然会被接受,因为服务器无论该库是否 被构建都会注册这个选项,但这里并没有构建该库。 Percona 的其他新增功能正常工作,包括 percona_udf 组件、审计日志插件,以及 USER_STATISTICSTABLE_STATISTICS 视图。

识别 Percona 构建

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

安装

Percona 构建与 MySQL 8.4 构建一同发布,三种安装方式都可以选择它。 安装脚本 在第一个问题中选择 Percona 8.4;没有终端时用环境变量直接指定:
Docker 镜像按代码库和架构分别发布:
发布下载 0.0.6 发布中的 villagesql-dev-server-percona-8.4_0.0.6-<os>-<arch>.tar.gz 覆盖 Linux 的 x86_64 与 aarch64,以及 macOS 的 arm64。 源码 构建 percona-8.4 分支;若要构建该发布交付的确切代码,请使用 publish/percona-8.4_0.0.6 标签。构建步骤本身请参见从源码构建 数据目录属于创建它的代码库。VillageSQL 拒绝用 percona-8.4 服务器打开 mysql-8.4 的数据目录,因此请将此构建安装到独立目录,而不要指向已有目录。