在centos/redhat6.5上编译Mariadb…
来源:互联网 发布:自适应二值化算法 编辑:程序博客网 时间:2024/06/14 06:23
Mariadb支持tokudb的引擎,但官方下载的binarytar包中只有带有glibc_214的才带有tokudb引擎。
顾名思义,带有“glibc_214”的安装包只有在带有glibc2.14版本的操作系统上才可以安装使用,而centos/redhat6.5上默认的版本是glibc 2.12 。。。。
tokudb官方的提供的mariadb/mysql版本可以直接在centos/redhat6.5上安装,但官方只有MySQL5.5.39 和 MariaDB 5.5.39版本,也就是说无法使用mysql5.6的一些新特性了。。。
官方的下载地址如下:
http://www.tokutek.com/tokudb-for-mysql/download-community/
如果只是想在mysql5.6上用tokudb的话,可以使用percona编译的版本:
http://www.percona.com/downloads/Percona-Server-5.6/LATEST/binary/tarball/
下载:
Percona-Server-5.6.21-rel69.0-675.Linux.x86_64.tar.gz 和
Percona-Server-5.6.21-rel69.0-675.TokuDB.Linux.x86_64.tar.gz
同时解压就可以用了,该本版支持centos/redhat6.5。
但如果想在mariadb10上使用tokudb就只能自己编译了。。。。
环境准备:
tokudb的编译需要cmake 2.8.9+ 和 gcc 4.7+
本文选用cmake 2.8.9 和 gcc4.8.1。
这2个软件都只能使用源码编译安装。
cmake的很简单,直接下载
wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz
然后解压进行编译
./configure
make & make install
对于gcc 4.8.1的安装 可以参考我转载的博文《转:CentOS6.4 编译安装 gcc 4.8.1 》
下载mariadb源码
https://downloads.mariadb.org/mariadb/10.0.14/
编译带tokudb的mariadb
首先需要修改tokudb的cmake编译文件,去掉fuse-linker-plugin相关内容
修改mariadb-10.0.14/storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake
去掉所有的 -fuse-linker-plugin :
# set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto-fuse-linker-plugin ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3-UNDEBUG")
# set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto-fuse-linker-plugin ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3-UNDEBUG")
# set(CMAKE_C_FLAGS_RELEASE "-g -O3 -flto-fuse-linker-plugin ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
# set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 -flto-fuse-linker-plugin ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
# set(CMAKE_EXE_LINKER_FLAGS "-g-fuse-linker-plugin ${CMAKE_EXE_LINKER_FLAGS}")
# set(CMAKE_SHARED_LINKER_FLAGS "-g-fuse-linker-plugin ${CMAKE_SHARED_LINKER_FLAGS}")
set(CMAKE_C_FLAGS_RELWITHDEBINFO"-flto ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3-UNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-g -O3-flto ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-g -O3-flto ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
set(CMAKE_EXE_LINKER_FLAGS "-g ${CMAKE_EXE_LINKER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS"-g ${CMAKE_SHARED_LINKER_FLAGS}")
然后是/home/gao-compile/mariadb-10.0.14/storage/tokudb/CMakeLists.txt
去掉所有的 -fuse-linker-plugin :
#SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE"${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto-fuse-linker-plugin")
#SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO"${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} -flto-fuse-linker-plugin")
SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE"${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto")
SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO"${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} -flto")
然后进行编译:
cd mariadb-10.0.14
mkdir release
./BUILD/compile-pentium64-max--prefix=/home/gao-compile/mariadb-10.0.14/release
make install
然后在/home/gao-compile/mariadb-10.0.14/release/lib/plugin 目录中找到ha_tokudb.so动态库。
这个就是我们要的东西了!
注:其实可以直接在mariadb-10.0.14/storage/tokudb目录中直接进行编译,而不用去编译整个mariadb,因为编译出来的也无法使用,mysqld可执行程序依赖GLIBCXX_3.4.15
[root@GXX release]# ldd bin/mysqld
bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' notfound (required by bin/mysqld)
安装使用tokudb
从mariadb官网下载10.0.14的不带tokudb的可执行程序tar包,然后将我们编译好的tokudb.so拷贝到
[maradb10.0.14]/lib/plugin/下
然后安装这个mariadb,然后
顾名思义,带有“glibc_214”的安装包只有在带有glibc2.14版本的操作系统上才可以安装使用,而centos/redhat6.5上默认的版本是glibc 2.12 。。。。
tokudb官方的提供的mariadb/mysql版本可以直接在centos/redhat6.5上安装,但官方只有MySQL5.5.39 和 MariaDB 5.5.39版本,也就是说无法使用mysql5.6的一些新特性了。。。
官方的下载地址如下:
http://www.tokutek.com/tokudb-for-mysql/download-community/
如果只是想在mysql5.6上用tokudb的话,可以使用percona编译的版本:
http://www.percona.com/downloads/Percona-Server-5.6/LATEST/binary/tarball/
下载:
Percona-Server-5.6.21-rel69.0-675.Linux.x86_64.tar.gz 和
Percona-Server-5.6.21-rel69.0-675.TokuDB.Linux.x86_64.tar.gz
同时解压就可以用了,该本版支持centos/redhat6.5。
但如果想在mariadb10上使用tokudb就只能自己编译了。。。。
环境准备:
tokudb的编译需要cmake 2.8.9+ 和 gcc 4.7+
本文选用cmake 2.8.9 和 gcc4.8.1。
这2个软件都只能使用源码编译安装。
cmake的很简单,直接下载
wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz
然后解压进行编译
./configure
make & make install
对于gcc 4.8.1的安装 可以参考我转载的博文《转:CentOS
下载mariadb源码
编译带tokudb的mariadb
首先需要修改tokudb的cmake编译文件,去掉fuse-linker-plugin相关内容
修改mariadb-10.0.14/storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake
去掉所有的 -fuse-linker-plugin :
#
#
#
#
#
#
然后是/home/gao-compile/mariadb-10.0.14/storage/tokudb/CMakeLists.txt
去掉所有的 -fuse-linker-plugin :
#SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE"${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto-fuse-linker-plugin")
#SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO"${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} -flto-fuse-linker-plugin")
SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE"${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto")
SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO"${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} -flto")
然后进行编译:
cd mariadb-10.0.14
mkdir release
./BUILD/compile-pentium64-max--prefix=/home/gao-compile/mariadb-10.0.14/release
make install
然后在/home/gao-compile/mariadb-10.0.14/release/lib/plugin 目录中找到ha_tokudb.so动态库。
这个就是我们要的东西了!
注:其实可以直接在mariadb-10.0.14/storage/tokudb目录中直接进行编译,而不用去编译整个mariadb,因为编译出来的也无法使用,mysqld可执行程序依赖GLIBCXX_3.4.15
[root@GXX release]# ldd bin/mysqld
bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' notfound (required by bin/mysqld)
安装使用tokudb
从mariadb官网下载10.0.14的不带tokudb的可执行程序tar包,然后将我们编译好的tokudb.so拷贝到
[maradb10.0.14]/lib/plugin/下
然后安装这个mariadb,然后
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
然后启动mariadb
然后登录并执行
INSTALL SONAME 'ha_tokudb';
然后执行show engines,应该可以看到tokudb
最后就爱干啥干啥了 ^-^
转载请注明转自高孝鑫的博客。
0 0
- 在centos/redhat6.5上编译Mariadb…
- MariaDB在CentOS上使用YUM安装
- Centos上安装MariaDB
- RedHat6.5上Opencv的编译和部署
- CentOS 6.5上安装MariaDB
- CentOS 6.5上安装MariaDB
- centos上yum安装mariadb
- RedHat6.5更换centOS源
- RedHat6.5更换CentOS源
- CentOS 安装 MariaDB [在这里]
- 在CentOS 5/RedHat Enterprise 5.3上编译安装GeoIP
- 在centOS7 上安装MariaDB
- CentOS 6编译安装MariaDB 10.2.9
- 在CentOS 5.6上编译安装Memcached
- 在centos上编译jdk 问题大全
- 在Centos上编译安装Erlang R15B
- 在centos上编译和安装vlc
- 在CentOS上编译安装FFmpeg
- innodb monitor output&…
- FederatedX 下推语句调研
- mysql sysbench 测试
- MySQL 的 XA 模式下的主从复制问题
- 转:CentOS 6.4 编译安…
- 在centos/redhat6.5上编译Mariadb…
- JavaScript获取事件对象的注意点
- EBS值集定义
- MySQL分布式集群连接池低潮抖动问…
- CentOS 6.5 升级 elrepo-kernel-lt
- 转:用消息队列和消息应用状态表来…
- hdu1236排名(结构体)
- git创建标签
- 软件体系 总线(bus)结构 牢骚