Spec-Zone.ru › MariaDB

Создание MariaDB на CentOS

В случае использования Linux-основанной операционной системы CentOS или её производных, вы можете выборочно скомпилировать MariaDB из исходного кода. Это полезно в тех случаях, когда вы хотите использовать более новую версию, чем та, которая доступна в официальных репозиториях, или когда вам нужно включить определённые функции, недоступные другими способами.

Установка зависимостей для компиляции MariaDB 5.5

Прежде чем начать компиляцию MariaDB, необходимо установить зависимости, необходимые для компиляции. CentOS предоставляет инструмент для установки зависимостей. Утилита yum-builddep считывает пакет и генерирует список пакетов, необходимых для сборки из исходного кода, а затем вызывает YUM для их установки. В случае, если эта утилита недоступна в вашей системе, её можно установить через пакет yum-utils. После этого установите зависимости для компиляции MariaDB.

yum install yum-utils
yum-builddep mariadb-server

Выполнение вышеуказанной команды устанавливает многие зависимости для компиляции, но не все из них. Будут установлены только зависимости для MariaDB 5.5, чего недостаточно для компиляции более новой версии MariaDB!

Установка зависимостей для более новых версий MariaDB

Следующие команды устанавливают все пакеты, необходимые для получения и компиляции MariaDB 10.11:

yum install git
yum install gcc
yum install gcc-c++
yum install tar make cmake
yum install bison
yum install ncurses-devel
yum install openssl openssl-devel
yum install snappy snappy-devel
yum install valgrind
yum install libcurl-devel
yum install gzip
yum install zlib-devel
yum install lz4-devel
yum install lzo-devel
yum install bzip2-devel
yum install libxml2-devel
yum install libevent-devel
yum install libaio-devel
yum install boost
yum install pcre2-devel
yum install systemd-devel
yum install rpm-build
yum install libaio-devel
yum install zstd
yum install pam-devel
yum install checkpolicy
yum install policycoreutils-python
yum install galera.x86_64

Вы можете заменить openssl на gnutls выше, в зависимости от того, какую реализацию TLS вы хотите использовать.

Если вы планируете использовать скрипты BUILD для упрощения сборки различных конфигураций MariaDB, то также следует установить ccache для ускорения компиляции:

yum install ccache

Если вы хотите протестировать установку MariaDB с использованием системы mysql-test-run (mtr), вам также нужно установить и настроить cpan:

yum install cpan
# Complete Perl installing with the next command. Use the default answer to all questions
cpan App::cpanminus

Дополнительную информацию о зависимостях см. в разделе Настройка среды разработки для Linux.

Компиляция MariaDB

После установки основных зависимостей можно получить исходный код и начать компиляцию MariaDB. Исходный код доступен на GitHub. Используйте опцию --branch для указания конкретной версии MariaDB, которую вы хотите скомпилировать.

$ git clone --branch 10.11 https://github.com/MariaDB/server.git

После клонирования репозитория исходного кода на вашу систему, можно начать компиляцию MariaDB. Используйте CMake для подготовки MariaDB к сборке:

$ cmake -DRPM=centos7 server/

После того, как CMake подготовит соответствующий Makefile для вашей системы, используйте Make для сборки MariaDB.

$ umask 0022
$ make package

Это генерирует файл RPM, который можно установить на вашу систему или скопировать для установки на другие хосты CentOS. Указание umask необходимо из-за ошибки в скриптах cmake.

Альтернативно, используйте один из скриптов сборки в каталоге BUILD, который позволяет скомпилировать различные версии MariaDB (отладка, оптимизированная, профилирование и т.д.).

Хороший вариант для разработчиков:

./BUILD/compile-pentium64-debug

Создание пакета MariaDB-compat

Пакет MariaDB-compat содержит библиотеки из более ранних релизов MariaDB. Их нельзя скомпилировать из текущей структуры исходного кода, поэтому cpack создает их, переупаковывая старые пакеты MariaDB-shared. Если вам нужен пакет -compat, вам нужно загрузить пакеты rpm MariaDB-shared-5.3 и MariaDB-shared-10.1 для вашей архитектуры (любая малая версия подойдет) и поместить их на один уровень выше дерева исходного кода, который вы собираете. CMake обнаружит их и создаст пакет MariaDB-compat. CMake сообщает об этом как

$ ls ../*.rpm
../MariaDB-shared-10.1.17-centos7-x86_64.rpm
../MariaDB-shared-5.3.12-122.el5.x86_64.rpm
$ cmake -DRPM=centos7 .
...
Using ../MariaDB-shared-5.3.12-122.el5.x86_64.rpm to build MariaDB-compat
Using ../MariaDB-shared-10.1.17-centos7-x86_64.rpm to build MariaDB-compat

Дополнительные зависимости

В случае пропущенных пакетов при установке зависимостей для компиляции, CMake может продолжать выдавать ошибки после установки необходимых пакетов. Если это произойдет, удалите кэш CMake и повторите команду:

$ rm CMakeCache.txt

При повторном выполнении тестов CMake он должен найти необходимые пакеты вместо того, чтобы кэш сообщал о их отсутствии.

Дополнительная информация о CMake и CPackRPM

См. также Сборка RPM пакетов из исходного кода

Содержимое, воспроизведённое на этом сайте, является собственностью его соответствующих владельцев, и это содержание не проходит предварительной проверки 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/source-building-mariadb-on-centos/

Spec-Zone.ru

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