2.5 Установка MySQL Router из исходного кода
MySQL Router входит в состав исходного кода MySQL Server; компиляция MySQL Server также компилирует MySQL Router. Это предполагает -DWITH_ROUTER=ON, что включено по умолчанию. Данные инструкции краткие, см. для получения подробной информации о предварительных требованиях и дополнительных деталях.
Исходный код MySQL Router можно найти в каталоге router внутри репозитория исходного кода MySQL Server.
Получение исходного кода
Для компиляции MySQL Router скачайте исходный код MySQL Server с https://dev.mysql.com/downloads/mysql. В качестве альтернативы, выполните git clone mysql-server на GitHub.
Скачайте и распакуйте файлы исходного кода MySQL Server, например:
$> tar xzf mysql-8.4.4.tar.gz
$> cd mysql-8.4.4
После этого необходимо выполнить настройку с помощью cmake, как и для MySQL Server.
Настройка
Программа CMake предоставляет управление конфигурацией дистрибутива исходного кода. Обычно это делается с помощью параметров в командной строке CMake. Параметры CMake здесь не документированы, см. .
Для компиляции исходного кода создайте папку для скомпилированных бинарных файлов и исполняемых файлов, выполните cmake для создания файла make, а затем скомпилируйте код. Смотрите для получения дополнительной информации, включая платформенно-специфические предварительные требования и соображения.
Если вы внесли изменения и вам нужно перекомпилировать с нуля, убедитесь, что вы удалили файл CMakeCache.txt перед выполнением команды cmake.
Начните с выполнения команды cmake для создания файла make. Следующие команды выполняются из корневого каталога исходного кода MySQL Server:
$> mkdir build && cd build
$> cmake ..
Выполнение cmake может привести к ошибкам, связанным с отсутствием библиотек или инструментов. Например, при сборке на macOS может потребоваться ссылка на более новую утилиту bison:
$> cmake .. -DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
Компиляция
Вы можете скомпилировать MySQL Server, как обычно (просто make), так как он также компилирует MySQL Router, или собрать целевые задачи MySQL Router. Например, чтобы собрать только MySQL Router с его библиотеками, плагинами и тестами:
$> make mysqlrouter_all
Необязательно выполнить специфические для MySQL Router тесты с помощью ctest:
$> ctest -R routertest_
Установка
Нет параметра make для установки только MySQL Router из исходного кода, так как выполнение make install запускает полную сборку MySQL Server.
Примечания для разработчиков
Примечания, связанные с использованием и тестированием локально скомпилированной версии MySQL Router для целей разработки:
-
Для запуска локальной сборки без
make install, настройте Router для поиска только что скомпилированногоplugin_folder, так как компиляция генерирует нестандартную структуру каталогов установки. Либо вручную отредактируйте сгенерированныйmysqlrouter.conf, либо задайте его во время bootstrap, например, с помощью:--conf-set-option=DEFAULT.plugin_folder=../plugin_output_directoryАналогично, также задайте
runtime_folderсоответственно, например:--conf-set-option=DEFAULT.runtime_folder=../runtime_output_directory Хотя отдельные целевые задачи производят двоичные файлы, такие как
make mysqlrouter_password, рекомендуется собирать все целевые задачи RouterЧтобы избежать сборки unit-тестов, также настройте с помощью
-DWITH_UNIT_TESTS=0
© 2025 Oracle
Licensed under the GPLv2 License.