1. 介绍
XeLabs TokuDB 官方源码: https://github.com/XeLabs/tokudb
支持: CentOS, Ubuntu
编辑环境要求: gcc > 4.8 cmake > 3.5
2. CentOS 6下编译举例
2.1 基本准备
yum install centos-release-scl
yum install cmake3
yum install devtoolset-3-gcc-c++.x86_64
yum install devtoolset-3-gcc.x86_64
如果是CentOS7就不需要安装devtoolset这个包,系统自带的gcc版本就可以。
启动新版本gcc
source /opt/rh/devtoolset-3/enable
安装cmake3
yum install cmake3
(如果找不到cmake3 请安装epel源)
yum install zlib-devel.x86_64
yum install libaio-devel
yum install ncurses-devel
yum install readline.x86_64 readline-devel.x86_64
2.2 下载tokudb代码
git clone https://github.com/XeLabs/tokudb.git
cd tokudb
git submodule init
git submodule update
编译参考:
vim cc.sh
cmake3 .\
-DCMAKE_BUILD_TYPE=RelWithDebInfo\
-DBUILD_CONFIG=mysql_release\
-DFEATURE_SET=community\
-DWITH_EMBEDDED_SERVER=OFF\
-DTOKUDB_VERSION=7.5.6\
-DBUILD_TESTING=OFF\
-DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \
-DWITH_BOOST=extra/boost/boost_1_59_0.tar.gz\
-DCMAKE_INSTALL_PREFIX=/usr/local/tokudb
- 执行参数配置初始化 sh cc.sh
- 待执行成功后,提示Configure done
make
make install对于CentOS6,CentOS7的同学,如果就是想偿个鲜不想编译的话可以在下面地址下载:
https://pan.baidu.com/s/1qYRyH3I - 因为TokuDB禁用hugepage:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
后面和正常基于二进制安装MySQL一样。
3. Tips
在sh cc.sh 中出错,需要删除:CMakeCache.txt
rm -rf CMakeCache.txt
有时还需要删除:
rm -rf CMakeFiles/*
如果因为出错提示缺了某个包,安装上去后,再继续。
4. 备注
devtoolset-2 目前已经有gcc的参数不支持,编译通不过(2017/12/08)
devtoolset-3 在CentOS 6上遇到gcc的段错误,如果没有段错误,devtoolset-3是可以用的。(2017/12/08)
devtoolset-4 目前在CentOS 6上测试通过(2017/12/08)
CentOS7 自带gcc可以编译通过(2017/12/08)
编译中如果遇到其它诡异问题,可以加入QQ群:579036588 联系群主获取支持。如果你做了其它版本的发行包,也可以联系群主,一块提供一些发行包。
案例推荐
TokuDB在生产环境的应用场景(zabbix也可以) http://blog.51cto.com/412166174/2050739
作者:吴炳锡 来源:http://wubx.net/ 联系方式: wubingxi#163.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.