Building MyRocks in MariaDB

You are viewing an old version of this article. View the current version here.

(for the upstream MyRocks, see https://github.com/facebook/mysql-5.6/wiki/Build-Steps)

MyRocks branch in MariaDB

MyRocks is not in the mainline MariaDB, yet.

Building on Ubuntu 16.04

The steps were checked on a fresh install of Ubuntu 16.04.2 LTS Xenial.

sudo apt-get update
sudo apt-get install g++ cmake libbz2-dev libaio-dev bison zlib1g-dev libsnappy-dev 
sudo apt-get 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 bb-10.2-mariarocks
git submodule init
git submodule update
cmake .
make -j10

This should produce storage/rocksdb/ha_rocksdb.so which is MyRocks storage engine in the loadable form.

Starting MyRocks

MyRocks does not require any special way to initialize the data directory. Minimal my.cnf flle:

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

Run the server like this

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

Compression libraries. Supported compression libraries are listed in <<@@rocksdb_supported_compression_types>>. Compiling like the above, I get:

Snappy,Zlib,LZ4,LZ4HC

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.