Общие инструкции по сборке
Инструкции на этой странице помогут вам скомпилировать MariaDB из исходного кода. Ссылки на более полные инструкции для конкретных платформ можно найти на странице исходного кода.
Сначала скачайте копию исходного кода MariaDB.
Затем подготовьте свою систему для компиляции исходного кода.
Если вы не хотите запускать MariaDB от своего имени, вам следует создать пользователя mysql. В примере ниже используется этот пользователь.
Использование cmake
MariaDB 5.5 и выше компилируется с помощью cmake.
Рекомендуется создать директорию сборки рядом с директорией исходного кода
mkdir build-mariadb cd build-mariadb
ПРИМЕЧАНИЕ Если вы ранее собирали MariaDB и недавно обновили репозиторий, вам следует полностью очистить старые артефакты (например, сконфигурированные файлы cmake). В базовом репозитории выполните:
git clean -xffd && git submodule foreach --recursive git clean -xffd
Вы можете сконфигурировать сборку, просто запустив cmake без каких-либо специальных опций, например:
cmake ../server
где server — место, куда вы установили MariaDB. Если вы собираете в директории исходного кода, просто опустите ../server.
Если вы хотите, чтобы конфигурация была точно такой же, как при сборке обычного выпуска MariaDB, используйте
cmake ../server -DBUILD_CONFIG=mysql_release
Это сконфигурирует сборку для генерации бинарных архивов tar, аналогичных выпускам из downloads.mariadb.org. К сожалению, это не работает на старых платформах, таких как OpenSuse Leap 15.0, потому что бинарные архивы tar MariaDB созданы для минимизации внешних зависимостей, а это требует статических библиотек, которые могут не предоставляться платформой по умолчанию и должны быть установлены вручную.
Для сборки, подходящей для отладки, используйте:
cmake ../server -DCMAKE_BUILD_TYPE=Debug
По умолчанию MariaDB компилируется с флагом -Werror, который приводит к прерыванию компиляции при появлении предупреждений компилятора. Вы можете отключить это, сконфигурировав с -DMYSQL_MAINTAINER_MODE=OFF.
cmake ../server -DCMAKE_BUILD_TYPE=Debug -DMYSQL_MAINTAINER_MODE=OFF.
Все опции конфигурации cmake для MariaDB можно отобразить с помощью:
cmake ../server -LH
Чтобы собрать и установить MariaDB после запуска cmake, используйте
cmake --build . sudo cmake --install .
Если команды выше завершаются ошибкой, вы можете включить больше информации о компиляции, выполнив:
cmake --build . --verbose
Если вы хотите сгенерировать бинарный архив tar, выполните
cpack
Использование скриптов BUILD
Также существуют BUILD скрипты для наиболее распространенных систем для тех, кто не хочет углубляться в опции cmake. Они оптимизированы для сборок в директории исходного кода.
Скрипты имеют тип 'compile-#cpu#-how_to_build'. Некоторые распространенные скрипты:
| Скрипт | Описание |
|---|---|
| compile-pentium64 | Компиляция оптимизированного бинарного файла, оптимизированного для 64-битного Pentium (работает также для amd64) |
| compile-pentium-debug | Компиляция отладочного бинарного файла, оптимизированного для 64-битного Pentium |
| compile-pentium-valgrind-max | Компиляция отладочного бинарного файла, который может использоваться с valgrind для поиска неправильных обращений к памяти и утечек памяти. Должен использоваться, если требуется запуск набора тестов mysql-test-run с опцией --valgrind |
Некоторые распространенные суффиксы, используемые для скриптов:
| Суффикс | Описание |
|---|---|
32 |
Компиляция для 32-битных процессоров |
64 |
Компиляция для 64-битных процессоров |
-max |
Включение (почти) всех функций и плагинов, поддерживаемых MariaDB |
-gprof |
Бинарный файл скомпилирован с профилированием (gcc --pg) |
-gcov |
Бинарный файл скомпилирован с покрытием кода (gcc -fprofile-arcs -ftest-coverage) |
-valgrind |
Бинарный файл скомпилирован для отладки и оптимизирован для использования с valgrind. |
-debug |
Бинарный файл скомпилирован со всеми символами (gcc -g) и включена система ведения журнала DBUG |
Все скрипты BUILD поддерживают следующие опции:
| Суффикс | Описание |
|---|---|
| -h, --help | Показать это сообщение справки. |
| -n, --just-print | Не выполнять какие-либо команды; просто отобразить их. |
| -c, --just-configure | Остановить выполнение после запуска configure. В сочетании с --just-print отображает параметры configure. |
| --extra-configs=xxx | Добавить это к опциям конфигурации |
| --extra-flags=xxx | Добавить эти флаги C и CXX |
| --extra-cflags=xxx | Добавить это к флагам C |
| --extra-cxxflags=xxx | Добавить это к флагам CXX |
| --verbose | Выводить полные строки компиляции |
| --with-debug=full | Сборка с полной отладкой (без оптимизаций, сохранение стека вызовов). |
Типичная компиляция, используемая разработчиком, будет:
shell> ./BUILD/compile-pentium64-debug
Это настраивает исходный код для отладки и запускает make. Бинарный файл сервера будет sql/mariadbd или sql/mysqld.
Первый запуск MariaDB
После установки MariaDB (используя sudo make install), но перед первым запуском MariaDB, необходимо:
- убедиться, что каталог, в котором установлена MariaDB, принадлежит пользователю mysql (если пользователь не существует, вам нужно его создать)
- запустить скрипт mariadb-install-db, чтобы сгенерировать необходимые системные таблицы
Вот пример:
# The following assumes that the 'mysql' user exists and that we installed MariaDB # in /usr/local/mysql chown -R mysql /usr/local/mysql/ cd /usr/local/mysql/ scripts/mariadb-install-db --user=mysql /usr/local/mysql/bin/mysqld_safe --user=mysql &
Тестирование MariaDB
Если вы хотите протестировать скомпилированную MariaDB, вы можете сделать одно из следующих:
Запустить тесты юнит-тестирования:
cmake --build . --target test
Или запустить тесты mtr:
mysql-test/mysql-test-run --force
Каждое из вышеперечисленных выполняется из директории сборки. Нет необходимости 'make install/cmake --install .' MariaDB перед их запуском.
ПРИМЕЧАНИЕ: Если вы проводите более обширные тесты или отладку MariaDB (например, с реальными данными и рабочими нагрузками приложения), вы можете запустить и запустить MariaDB непосредственно из каталога исходного кода вместо установки его с помощью 'sudo make install'. В этом случае см. Запуск MariaDB из директории исходного кода.
Изменение номера версии или пометка версии
Если вы внесли изменения в код и хотите изменить номер версии или пометить нашу версию определённой меткой, вы можете сделать это, отредактировав файл VERSION. Метки отображаются при выполнении команды 'mysqld --version'.
Символы не ASCII
MariaDB собирается с readline; использование альтернативы, такой как Editline, может привести к проблемам с символами не ASCII.
Задачи после установки
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/generic-build-instructions/