Установка Galera из исходного кода
Доступны пакеты для установки бинарников для дистрибутивов на основе RPM и Debian, которые включат все необходимые зависимости Galera.
Если они недоступны, вам необходимо скомпилировать Galera из исходного кода.
Начиная с MariaDB 10.1, API wsrep для Galera Cluster включён по умолчанию. Следуйте обычным инструкциям по компиляции MariaDB из исходного кода
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
- Выберите ветку (например, 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, и он настроен на запуск при загрузке.
© 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/