Spec-Zone.ru › MariaDB

Общие инструкции по сборке

Инструкции на этой странице помогут вам скомпилировать 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, необходимо:

  1. убедиться, что каталог, в котором установлена MariaDB, принадлежит пользователю mysql (если пользователь не существует, вам нужно его создать)
  2. запустить скрипт 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.

Задачи после установки

  • Установка системных таблиц (mariadb-install-db)
  • Автоматический запуск и остановка MariaDB
Содержимое, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не просматривается заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают позицию MariaDB или любой другой стороны.

© 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API