Spec-Zone.ru › MariaDB

Создание MyRocks в MariaDB

Эта страница описывает, как получить MyRocks в MariaDB при компиляции MariaDB из исходного кода.

(См. https://github.com/facebook/mysql-5.6/wiki/Build-Steps для инструкций по сборке upstream)

Процесс сборки и требования

Процесс компиляции MariaDB по умолчанию будет компилировать MyRocks в ha_rocksdb.so при поддержке платформы (т.е. переключатель WITH_ROCKSDB не требуется).

Требования к платформе:

  • 64-битная платформа (из-за трудностей некоторых 32-битных компиляторов с RocksDB)
  • установленный git (или git подмодули получены каким-либо способом)
  • достаточно свежий компилятор:
    • gcc >= 4.8, или
    • clang >= 3.3, или
    • MS Visual Studio 2015 или новее

Сборка на Ubuntu 16.04

Шаги проверялись на свежей установке Ubuntu 16.04.2 LTS Xenial.

sudo apt-get update
sudo apt-get -y install g++ cmake libbz2-dev libaio-dev bison zlib1g-dev libsnappy-dev 
sudo apt-get -y install libgflags-dev libreadline6-dev libncurses5-dev libssl-dev liblz4-dev gdb git
;
git clone https://github.com/MariaDB/server.git mariadb-10.2
cd mariadb-10.2
git checkout 10.2
git submodule init
git submodule update
cmake .
make -j10

Это должно создать storage/rocksdb/ha_rocksdb.so, что является движком хранения MyRocks в загружаемом формате.

Запуск MyRocks

MyRocks не требует специального способа инициализации каталога данных. Минимальный файл my.cnf:

cat > ~/my1.cnf <<EOF
[mysqld]

datadir=../mysql-test/var/install.db
plugin-dir=../storage/rocksdb
language=./share/english
socket=/tmp/mysql.sock
port=3307

plugin-load=ha_rocksdb
default-storage-engine=rocksdb
EOF

Запустите сервер следующим образом

(cd mysql-test; ./mtr alias)
cp -r mysql-test/var/install.db ~/data1
cd ../sql
./mysqld --defaults-file=~/my1.cnf

Библиотеки сжатия. Поддерживаемые библиотеки сжатия перечислены в rocksdb_supported_compression_types. При компиляции таким образом, я получаю:

Snappy,Zlib,LZ4,LZ4HC
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется заранее компанией 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/building-myrocks-in-mariadb/

Spec-Zone.ru

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