> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Percona 构建

> 基于 Percona Server for MySQL 8.4 构建的 VillageSQL。

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

<h2 id="what-this-is">
  这是什么
</h2>

这是一个基于 Percona 8.4 代码库（而非上游 MySQL 8.4）构建的 VillageSQL
服务器。VillageSQL 扩展框架、它的 SQL 命令及其扩展在两者上的工作方式完全相同
——Percona 构建只是在同一个 VillageSQL 表层之下换了一套不同的基础。

VillageSQL 不会记录 Percona 自身的功能。关于 Percona Server
本身的任何内容——它的存储引擎、调优选项或配置——请参阅
[Percona 的官方文档](https://docs.percona.com/percona-server/8.4/)。

<h2 id="identifying-a-percona-build">
  识别 Percona 构建
</h2>

Percona 构建会在其版本字符串中报告不同的代码库：

```sql theme={null}
SELECT @@villagesql_server_version;
-- Example output: percona-8.4_0.0.6
```

有关该变量的含义，请参阅[系统参考](/docs/zh/mysql-8.4/stable/reference#villagesql_server_version)。
VillageSQL 拒绝将某个代码库（例如 `mysql-8.4`）的数据目录升级到运行另一个代码库
（例如 `percona-8.4`）的服务器上。

<h2 id="installing">
  安装
</h2>

Percona 构建与 MySQL 8.4 构建一同发布，三种安装方式都可以选择它。

**安装脚本** 在第一个问题中选择 **Percona 8.4**；没有终端时用环境变量直接指定：

```bash theme={null}
curl -fsSL https://install.villagesql.com | \
  VSQL_CODEBASE=percona-8.4 INSTALL_METHOD=prebuilt bash
```

**Docker** 镜像按代码库和架构分别发布：

```bash theme={null}
docker run -d --name vsql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 villagesql/server:percona-8.4_0.0.6-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
```

**发布下载** [0.0.6 发布](https://github.com/villagesql/villagesql-server/releases/tag/release/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` 标签。构建步骤本身请参见[从源码构建](/docs/zh/mysql-8.4/stable/source)。

数据目录属于创建它的代码库。VillageSQL 拒绝用 `percona-8.4` 服务器打开 `mysql-8.4` 的数据目录，因此请将此构建安装到独立目录，而不要指向已有目录。
