VIDEX 支持以下安装方式:
- 编译完整的 MySQL Server (包含 VIDEX 引擎)
- 编译 VIDEX 插件并安装到现有 MySQL Server
- 使用 Docker 镜像方式安装
以 Percona-MySQL 8.0.34-26 为例。
cd ~/code
VIDEX_HOME=$(pwd)/videx_server
MySQL8_HOME=$(pwd)/mysql_server
# 克隆代码仓库
git clone git@github.com:bytedance/videx.git $VIDEX_HOME
git clone --depth=1 --recursive -b release-8.0.34-26 https://github.com/percona/percona-server.git $MySQL8_HOME
# 下载 Boost 库,加速安装
mkdir $MySQL8_HOME/boost && cd $MySQL8_HOME/boost
wget https://archives.boost.io/release/1.77.0/source/boost_1_77_0.tar.bz2
tar -xvjf boost_1_77_0.tar.bz2VIDEX 依赖以下组件:
- MySQL 编译环境:gcc, cmake, bison 等(详见
build/Dockerfile.build_env) - Python 3.9
提示:可参考
build/Dockerfile.build_env准备完整的编译环境
这一步是 3. 安装方式二:编译 VIDEX 插件 的替代项。这种方式会编译一个包含 VIDEX 引擎的完整 MySQL Server。
# 编译
cd $VIDEX_HOME/build && bash build.sh注:可通过修改
build/config.sh自定义:
- VIDEX/MySQL 代码仓库位置
- MySQL/VIDEX 服务端口
- 其他配置项
这种方式仅编译 VIDEX 插件,可安装到现有的 MySQL Server。
这一步是 2. 安装方式一:编译完整 MySQL Server 的替代项。 用户可以仅编译一个 videx 插件,然后安装到正在运行的 mysql-server 上。
重要:编译环境的 MySQL 版本必须与目标 MySQL Server 完全一致
cd $VIDEX_HOME/build && bash build_videx.sh插件文件 ha_videx.so 将生成在 mysql_build_output/build/plugin_output_directory/
- 查看 MySQL 插件目录:
SHOW VARIABLES LIKE "%plugin%"
+-----------------+---------------------------------------+
| Variable_name | Value |
+-----------------+---------------------------------------+
| plugin_dir | /path/to/percona-mysql-8/lib/plugin/ |
+-----------------+---------------------------------------+- 拷贝插件到插件目录:
cp ha_videx.so /path/to/percona-mysql-8/lib/plugin/- 安装插件:
INSTALL PLUGIN VIDEX SONAME 'ha_videx.so';- 验证安装:
SHOW ENGINES; -- VIDEX 应出现在引擎列表中如果您编译了完整的 MySQL Server(安装方式一),可以使用脚本一键启动:
- 初始化服务:
cd $VIDEX_HOME/build && bash init_server.sh- 启动服务:
cd $VIDEX_HOME/build && bash start_server.sh- 准备 Python 环境:
cd $VIDEX_HOME
conda create -n videx_py39 python=3.9
conda activate videx_py39
python3.9 -m pip install -e . --use-pep517- 启动服务:
cd $VIDEX_HOME/src/sub_platforms/sql_opt/videx/scripts
python start_videx_server.py --port 5001首先完成步骤 1:下载 VIDEX 和 MySQL 的代码。
请确保 VIDEX 和 MySQL 的代码位于同一目录下。并且目录名分别为 videx_server 和 mysql_server。你可以使用软链接。
- 构建环境镜像:
cd videx_server
docker build -t videx_build:latest -f build/Dockerfile.build_env .- 构建 VIDEX 镜像:
docker build -t videx:latest -f build/Dockerfile.videx ..注意:此过程需要较大内存资源(建议至少 8GB Docker 内存)。
- 运行 Docker 镜像:
docker run -d --name videx-server \
-p 13308:13308 \
-p 5001:5001 \
videx:latest