Spec-Zone.ru › MariaDB

Установка Galera из исходного кода

Доступны пакеты для установки бинарников для дистрибутивов на основе RPM и Debian, которые включат все необходимые зависимости Galera.

Если они недоступны, вам необходимо скомпилировать Galera из исходного кода.

MariaDB начиная с 10.1

Начиная с MariaDB 10.1, API wsrep для Galera Cluster включён по умолчанию. Следуйте обычным инструкциям по компиляции MariaDB из исходного кода

MariaDB до 10.0

MariaDB 10.0 и ниже больше не поддерживаются. Инструкции ниже имеют только историческое значение.

Подготовка

make не может управлять зависимостями для процесса сборки, поэтому сначала необходимо установить следующие пакеты:

Основанные на RPM:

yum-builddep MariaDB-server

Основанные на Debian:

apt-get build-dep mariadb-server

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

Сервер базы данных MariaDB с API wsrep

  • Git, CMake (в Fedora, требуются как cmake, так и cmake-fedora), GCC и GCC-C++, Automake, Autoconf и Bison, а также пакеты разработки libaio и ncurses.

Сборка

Вы можете использовать Git для скачивания исходного кода, так как исходный код MariaDB доступен через GitHub. Клонируйте репозиторий:

git clone https://github.com/mariadb/server mariadb
  1. Выберите ветку (например, 10.0-galera или 5.5-galera), например:
cd mariadb
git checkout 10.0-galera

Сборка сервера базы данных

Стандартный и сервер Galera Cluster базы данных одинаковы, за исключением того, что для Galera Cluster включён патч API wsrep. Включите патч с помощью опций конфигурации CMake WITH_WSREP и WITH_INNODB_DISALLOW_WRITES. Чтобы собрать сервер базы данных, выполните следующие команды:

cmake -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON .
make
make install

Также есть некоторые скрипты сборки в каталоге BUILD/, которые могут быть удобнее в использовании. Например, следующий скрипт предварительно настраивает опции сборки, обсуждённые выше:

./BUILD/compile-pentium64-wsrep

Есть и другие, так что вы можете выбрать наиболее удобный.

Помимо сервера с поддержкой Galera, вам также понадобится поставщик Galera.

Подготовка

make не может самостоятельно управлять зависимостями, поэтому сначала необходимо установить следующие пакеты:

apt-get install -y scons check 

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

Плагин репликации Galera

  • SCons, а также пакеты разработки Boost (libboost_program_options, libboost_headers1), Check и OpenSSL.

Сборка

Выполните:

git clone -b mariadb-4.x https://github.com/MariaDB/galera.git

Если вы используете MariaDB 10.3 или более раннюю версию, вы должны выполнить checkout mariadb-3.x вместо этого.

После этого исходные файлы поставщика Galera будут в каталоге galera.

Сборка поставщика Galera

Плагин репликации Galera реализует API wsrep и работает как поставщик wsrep сервера базы данных. Для сборки перейдите в каталог galera/ и выполните:

git submodule init
git submodule update
./scripts/build.sh
mkdir /usr/lib64/galera
cp libgalera_smm.so /usr/lib64/galera

Путь к libgalera_smm.so необходимо определить в файле конфигурации my.cnf.

Сборка плагина репликации Galera из исходного кода на FreeBSD сталкивается с проблемами из-за зависимостей от Linux. Чтобы решить их, установите пакет бинарников: pkg install galera, или используйте доступную сборку портов в /usr/ports/databases/galera.

Конфигурация

После сборки необходимы дополнительные шаги:

  • Создайте пользователя и группу сервера базы данных:
 groupadd mysql
 useradd -g mysql mysql
  • Установите базу данных (путь может отличаться, если вы указали CMAKE_INSTALL_PREFIX):
 cd /usr/local/mysql
 ./scripts/mariadb-install-db --user=mysql
  • Если вы хотите установить базу данных в другое место, кроме /usr/local/mysql/data , используйте опции --basedir или --datadir.
  • Измените права пользователя и группы для базового каталога.
 chown -R mysql /usr/local/mysql
 chgrp -R mysql /usr/local/mysql
  • Создайте системную единицу для сервера базы данных.
cp /usr/local/mysql/supported-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
  • Теперь Galera Cluster можно запустить с помощью команды service, и он настроен на запуск при загрузке.
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно 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/installing-galera-from-source/

Spec-Zone.ru

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