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-9.2.0.tar.gz
$> cd mysql-9.2.0
После этого необходимо выполнить конфигурацию с использованием 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или установите его во время инициализации, например:--conf-set-option=DEFAULT.plugin_folder=../plugin_output_directoryАналогично, также настройте
runtime_folderсоответственно, например:--conf-set-option=DEFAULT.runtime_folder=../runtime_output_directory Хотя отдельные цели производят двоичные файлы, такие как
make mysqlrouter_password, рекомендуется строить все цели Router.Чтобы избежать сборки юнит-тестов, также настройте с помощью
-DWITH_UNIT_TESTS=0
© 2025 Oracle
Licensed under the GPLv2 License.