-
Notifications
You must be signed in to change notification settings - Fork 714
Build Steps
The subset of platforms we officially support is following:
- CentOS 6.x
Compiler toolsets we verify our builds internally are the following:
- gcc 4.8.x
- gcc 4.9.x
Best effort is made to support the following OS-s:
- Ubuntu 14.04.4 LTS
- Ubuntu 15.10
- Ubuntu 16.04 LTS
- We haven't tried building MySQL with Clang.
- Compiling with DTrace enabled on Fedora fails (works fine with Ubuntu 15.10 though).
If you're using any other platform then we would appreciate your help with getting MyRocks compiling and working there!
On a fresh AWS Ubuntu 14.04.2 LTS instance:
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
On Fedora and perhaps Redhat:
sudo yum install cmake gcc-c++ bzip2-devel libaio-devel bison \
zlib-devel snappy-devel
sudo yum install gflags-devel readline-devel ncurses-devel \
openssl-devel lz4-devel gdb git
Then setup the git repository:
git clone https://github.com/facebook/mysql-5.6.git
cd mysql-5.6
git submodule init
git submodule update
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=system \
-DWITH_ZLIB=bundled -DMYSQL_MAINTAINER_MODE=0 -DENABLED_LOCAL_INFILE=1
make -j8
- If you need a debug build, run CMake as follows.
cmake . -DCMAKE_BUILD_TYPE=Debug -DWITH_SSL=system \
-DWITH_ZLIB=bundled -DMYSQL_MAINTAINER_MODE=1
- If you want to produce a TSan build then now you can do this by adding the following option to CMake command-line:
-DWITH_TSAN=1
- If you want to produce a UBSan build then now you can do this by adding the following option to CMake command-line:
-DWITH_UBSAN=1
RocksDB itself supports multiple compression algorithms. By default, MyRocks only links Zlib. You can add Snappy, BZip2, LZ4, and ZSTD libraries. You need to set environment variables to support them at compile time.
# assume libsnappy.a is located at /usr/lib/
export WITH_SNAPPY=/usr
cmake ...
make ...
You need to set WITH_BZ2, WITH_LZ4, WITH_ZSTD to support BZip2, LZ4, and ZSTD.
cd mysql-test
./mysql-test-run.pl --mem --async-client --parallel=16 --fast \
--max-test-fail=1000 --retry=0 --force --mysqld=--rocksdb \
--mysqld=--default-storage-engine=rocksdb --mysqld=--skip-innodb \
--mysqld=--default-tmp-storage-engine=MyISAM --suite=rocksdb
sudo apt-get install openjdk-7-jdk maven
git clone https://github.com/facebook/linkbench.git
cd linkbench;
mvn clean package -P fast-test
Documentation license here.
Installation
MyRocks
- Overview
- Transaction
- Backup
- Performance Tuning
- Monitoring
- Migration
- Internals
- Vector Database
DocStore
- Document column type
- Document Path: a new way to query JSON data
- Built-in Functions for JSON documents
MySQL/InnoDB Enhancements