Создание 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
© 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/