千家信息网

CentOS 7如何通过源码编译方式安装TokuDB

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了CentOS 7如何通过源码编译方式安装TokuDB,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。TokuDB由于特
千家信息网最后更新 2026年11月02日CentOS 7如何通过源码编译方式安装TokuDB

这篇文章主要介绍了CentOS 7如何通过源码编译方式安装TokuDB,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

TokuDB由于特殊设计的数据结构,在某些场景下读写性能会优于InnoDB,抽了个时间也尝鲜试用一把,以下就是基于centOS 7版本环境下,通过源码编译方式安装TokuDB的过程。

首先检查系统环境设置:
# vi /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

使用tokuDB需要关闭Transparent huge pages:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

修改selinux:
# vi /etc/selinux/config
若要临时生效,可以执行:# setenforce 0

接下来,安装依赖的软件包
# yum install cmake gcc gcc-c++ ncurses ncurses-devel bison readline-devel jemalloc zlib zlib-devel valgrind valgrind-devel -y

ok, 基本就绪,接下来进入tokuDB的实际安装环境。这里我们选择的是Percona-server 5.7.11版本。
下载安装包:
# wget https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.11-4/source/tarball/percona-server-5.7.11-4.tar.gz


解压:
# tar xvfz percona-server-5.7.11-4.tar.gz
# cd percona-server-5.7.11-4


配置编译环境:
# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysqldata/3309 \
-DSYSCONFDIR=/data/mysqldata/3309 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3309/mysql.sock \
-DMYSQL_TCP_PORT=3309 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DOWNLOADS=1 \
-DCOMPILATION_COMMENT="Junsansi's Percona Server" \
-DOPTIMIZER_TRACE=1 \
-DWITH_ZLIB=system \
-DWITH_VALGRIND=1 \
-DCMAKE_C_FLAGS=-DHAVE_purify \
-DCMAKE_CXX_FLAGS=-DHAVE_purify \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp \
-DZLIB_INCLUDE_DIR=/usr/lib64


### -j4表示用4个线程编译
# make -j4
# make install


# cd /data/mysqldata/3309
# mkdir data tmp logs/{binlog,errorlog,slowlog,relaylog} -p
# chown mysql:mysql ../3309 -R


创建数据库:
# bin/mysql_install_db --defaults-file=/data/mysqldata/3309/my.cnf --basedir=/usr/local/mysqlpercona --datadir=/data/mysqldata/3309/data --user=mysql
这里my.cnf是我从其它库复制过程的初始化参数文件。

# 注意,mysql_install_db已经被废弃,后面建议使用:
# bin/mysqld --initialize-insecure --defaults-file=/data/mysqldata/3309/my.cnf --user=mysql --basedir=/usr/local/mysqlpercona --datadir=/data/mysqldata/3309/data


安装完成后,root用户密码默认被初始化,保存在:
# more ~/.mysql_secret
使用该用户登录系统即可。


启动数据库:
# mysqld_safe --defaults-file=/data/mysqldata/3309/my.cnf &


$ mysql -uroot -p'xxxx' -S /data/mysqldata/3309/mysql.sock
执行命令如果遇到:
ERROR 1820 (HY000): Unknown error 1820
那么说明当前需要先初始化管理员帐户的密码,执行命令如下:
mysql> set password=password('123456');


mysql> SHOW ENGINES
能够查看到当前是否支持tokuDB



[root@localhost ~]# /usr/local/mysqlpercona/bin/ps_tokudb_admin --enable -uroot -p'123456' -S /data/mysqldata/3306/mysql.sock
Checking SELinux status...
INFO: SELinux is disabled.


Checking if Percona Server is running with jemalloc enabled...
ERROR: Percona Server is not running with jemalloc, please restart mysql service to enable it and then run this script...


缺包,先安装
# yum install epel-release
然后就可以安装jemalloc了:
# yum install jemalloc


然后重启mysqld,再执行ps_tokudb_admin。


而后在数据库中执行show engines,应该就能够看到tokuDB引擎了。

感谢你能够认真阅读完这篇文章,希望小编分享的"CentOS 7如何通过源码编译方式安装TokuDB"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

编译 数据 环境 篇文章 方式 源码 数据库 接下来 命令 密码 版本 用户 系统 过程 支持 特殊 价值 兴趣 参数 同时 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山东特亿宝互联网科技有限公司 科技金融是不是互联网金融 科技互联网龙头 科技信息互联网 朗涯互联网科技 互联网金融科技平台 易通互联网络科技有限公司 菲比寻常互联网科技 天下捷融互联网科技 成都仁贤领冠互联网科技有限公司 互联网金融中的现代科技 互联网科技商业 消费医药和互联网科技 畅思互联网科技 互联网科技创新的路径 高科技互联网发展前景如何 明优互联网科技有限公司 互联网科技包装股 现代科技的标志之一的互联网 高科技和互联网的现代国家 广东万易互联网科技有限公司惠州分公司 上海互联网科技有限公司 互联网科技创新服务 互联网科技有哪些公司 世界互联网科技公司市值排名 宜昌元轩互联网科技有限公司 洛阳共同富裕互联网科技有限公司 锡山区互联网智能科技产品供应 易企秀互联网科技是做什么的 互联网高科技绘画
0