• 系统:Red Hat Enterprise Linux Server release 6.3 (Santiago)
  • 数据库:Percona-Server-5.6.29-rel76.2-Linux.x86_64.ssl101.tar.gz

1. 准备

libjemalloc library

安装 jemalloc,确保 jemalloc 的版本在3.3.0 或者更高。通过yum或者rpm包安装的MySQL5.6 需要额外安装 Percona-Server-tokudb-56-5.6.36-rel82.1.el6.x86_64.rpm 包,安装过程中会自动装上 jemalloc,但是通过 Percona-Server-5.6.29-rel76.2-Linux.x86_64.ssl101.tar.gz 安装的MySQL就方便的多。

$MYSQL_HOME/lib/mysql/ 下有 jemalloc

[mysql@dbmspressd201 ~]$ ll lib/mysql/
total 1856
lrwxrwxrwx 1 mysql mysql 16 Aug 11 17:07 libjemalloc.so -> libjemalloc.so.1
-rwxr-xr-x 1 mysql mysql 1893761 Aug 11 17:07 libjemalloc.so.1
drwxr-xr-x 3 mysql mysql 4096 Aug 11 17:07 plugin

直接修改 my.cnf 文件即可

[mysqld_safe]
malloc-lib=/home/mysql/lib/mysql/libjemalloc.so.1

配置完成后,需要重启数据库

$ /home/mysql/bin/mysqld_safe --defaults-file=/home/mysql/etc/my.cnf &
[1] 2587
$ 170813 17:06:00 mysqld_safe Adding '/home/mysql/lib/mysql/libjemalloc.so.1' to LD_PRELOAD for mysqld
170813 17:06:00 mysqld_safe Logging to '/mysql/data/mysql_error.err'.
170813 17:06:00 mysqld_safe Starting mysqld daemon with databases from /mysql/data/

Transparent huge pages

transparent huge pages 打开的时候,TokuDB是无法使用的

cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always [never]

需要用 root 权限执行以下操作,来关闭 transparent huge page

[root@dbmspressd201 ~]# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
[root@dbmspressd201 ~]# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

不关闭的话,报错日志如下

2017-08-13 17:06:04 3577 [ERROR] TokuDB: Huge pages are enabled, disable them before continuing

2017-08-13 17:06:04 3577 [ERROR] ************************************************************
2017-08-13 17:06:04 3577 [ERROR]
2017-08-13 17:06:04 3577 [ERROR] @@@@@@@@@@@
2017-08-13 17:06:04 3577 [ERROR] @@' '@@
2017-08-13 17:06:04 3577 [ERROR] @@ _ _ @@
2017-08-13 17:06:04 3577 [ERROR] | (.) (.) |
2017-08-13 17:06:04 3577 [ERROR] | ` |
2017-08-13 17:06:04 3577 [ERROR] | > ' |
2017-08-13 17:06:04 3577 [ERROR] | .----. |
2017-08-13 17:06:04 3577 [ERROR] .. |.----.| ..
2017-08-13 17:06:04 3577 [ERROR] .. ' ' ..
2017-08-13 17:06:04 3577 [ERROR] .._______,.
2017-08-13 17:06:04 3577 [ERROR]
2017-08-13 17:06:04 3577 [ERROR] TokuDB will not run with transparent huge pages enabled.
2017-08-13 17:06:04 3577 [ERROR] Please disable them to continue.
2017-08-13 17:06:04 3577 [ERROR] (echo never > /sys/kernel/mm/transparent_hugepage/enabled)
2017-08-13 17:06:04 3577 [ERROR]
2017-08-13 17:06:04 3577 [ERROR] ************************************************************
2017-08-13 17:06:04 3577 [ERROR] Plugin 'TokuDB' init function returned error.
2017-08-13 17:06:04 3577 [ERROR] Plugin 'TokuDB' registration as a STORAGE ENGINE failed.
2017-08-13 17:06:04 3577 [Note] Shutting down plugin 'TokuDB'

2. 安装

2.1 通过yum安装

yum install Percona-Server-tokudb-56.x86_64

2.2 直接启用TokuDB

使用 $MYSQL_HOME/bin 下的 ps_tokudb_admin 安装(5.6.22-72.0后引入)

./ps_tokudb_admin --enable -uroot -h127.1
Checking SELinux status...
INFO: SELinux is disabled. Checking if Percona Server is running with jemalloc enabled...
INFO: Percona Server is running with jemalloc enabled. Checking transparent huge pages status on the system...
INFO: Transparent huge pages are currently disabled on the system. Checking if thp-setting=never option is already set in config file...
INFO: Option thp-setting=never is set in the config file. Checking TokuDB engine plugin status...
INFO: TokuDB engine plugin is not installed. Installing TokuDB engine...
INFO: Successfully installed TokuDB engine plugin.

5.6.29的安装与官网的安装结果显示的稍有不同,以下贴出官网的结果

Checking if Percona server is running with jemalloc enabled...
>> Percona server is running with jemalloc enabled. Checking transparent huge pages status on the system...
>> Transparent huge pages are currently disabled on the system. Checking if thp-setting=never option is already set in config file...
>> Option thp-setting=never is not set in the config file.
>> (needed only if THP is not disabled permanently on the system) Checking TokuDB plugin status...
>> TokuDB plugin is not installed. Adding thp-setting=never option into /etc/mysql/my.cnf
>> Successfuly added thp-setting=never option into /etc/mysql/my.cnf Installing TokuDB engine...
>> Successfuly installed TokuDB plugin.

查看安装结果

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| TokuDB | YES | Percona TokuDB Storage Engine with Fractal Tree(tm) Technology | YES | YES | YES |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+

查看 TokuDB 的版本

mysql> SELECT @@tokudb_version;
+------------------+
| @@tokudb_version |
+------------------+
| 5.6.29-76.2 |
+------------------+
1 row in set (0.00 sec)

手动安装

Percona Server 5.6.22-71.0 的时候。。。可以手动安装。。。木有测试过。。。

INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_file_map SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_fractal_tree_info SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_trx SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_locks SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_lock_waits SONAME 'ha_tokudb.so';
INSTALL PLUGIN tokudb_background_job_status SONAME 'ha_tokudb.so'

Percona Server 5.6 安装TokuDB的更多相关文章

  1. MySQL Percona server 5.5 安装审计插件

    近期,公司要求对MySQL 数据库上操作进行审计:通过了解MySQL 官方企业版(付费版)本中集成了audit_log审计插件,但是社区开源版本中并不包含该插件,也没提供下载.进一步了解 MariaD ...

  2. CentOS 7.5 安装与配置 Percona Server 5.7

    个人比较喜欢 MYSQL 的轻量,今天花了一点时间把阿里云上的 MYSQL5.7 换成了 Percona-Server .Percona 是一个开源的 MySQL 衍生版,TokuDB 的数据库引擎使 ...

  3. Linux 下 YUM 安装 Percona Server 5.6

    Percona Server 是 MySQL 的衍生版,专注于 Linux/BSD 下 MySQL 数据库服务器的改进, 在功能和性能上较 MySQL 有着显著的提升. Percona Server ...

  4. percona server 二进制安装下编译tpcc-mysql的坑

    出于习惯,percona server的部署都是通过二进制包自动化安装,结果遇到一个硕大无比的坑,编译TPCC-MySQL时出现警告 10:49:36 root@DB-Master:~/tpcc-my ...

  5. CentOS 7.2 安装配置 Percona Server

    个人比较喜欢 MYSQL 的轻量,今天花了一点时间把阿里云上的 MYSQL5.7 换成了 Percona-Server ,Percona 是一个开源的 MySQL 衍生版.InnoDB的数据库引擎使得 ...

  6. mysql 5.7/percona server/mariadb 10.2安装与服务器参数优化

    建议使用percona server linux generic版,从https://www.percona.com/downloads/Percona-Server-LATEST/下载,现在不在推荐 ...

  7. ubuntu安装Percona Server

    Percona Server是mysql数据库的一个衍生版本,在性能,稳定性和可管理性上都有很大的提升,目前淘宝的mysql数据库就是基于Percona Server,请原谅我这么喜欢研究淘宝的技术. ...

  8. 如何在 CentOS 7 上安装 Percona Server

    在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品.InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比 ...

  9. MySQL社区版升级到Percona Server

    出于磁盘空间的考虑,在调研以后把磁盘空间紧张的库的引擎改为tokudb,(在改为tokudb引擎之前是innodb引擎,已经压缩过,但空间还是紧张)关于tokudb的优势各位自行查阅相关资料.要启用t ...

随机推荐

  1. case关联表查询

    select a.员工编号,b.`姓名`,b.`地址`,case when a.收入 is null then '没钱' when a.收入 < 2000 then '低收入'when a.收入 ...

  2. centos上shellcheck的安装

    关于shellcheck的作用和功能,自行查阅. centos7 上安装shellcheck的过程中查了很多资料,大部分都是在ubunt下安装的,centos的比较少,然后好不容易看到一个https: ...

  3. 使用JWT的RSA256加密做为用户认证, 测试性能

    http://www.giantflyingsaucer.com/blog/?p=5994 使用JWT的token认证,防止别人知道了接口后,随意调用,但是发现 stepping : 4 microc ...

  4. 2sum,3sum,4sum,ksum

    1. 2sum 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,你不能重复利 ...

  5. sql server 函数的自定义

    创建用户定义函数.这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,该例程可返回一个值.用户定义函数不能用于执行修改数据库状态的操作.与系统函数一样,用户定义函数可从查询中 ...

  6. 第六天实验详解——dedecms通过xss漏洞写马

    第六天实验详解 **XSS跨站攻击的分类** XSS漏洞类型主要分为持久型和非持久型两种: 1. 非持久型XSS漏洞一般存在于URL参数中,需要访问黑客构造好的特定URL才能触发漏洞. 2. 持久型X ...

  7. (2)Python3笔记 数据类型之"组"(序列) 与 集合

    一. list [ 列表 ] ---- 任意数据类型的有序排列 1. list 操作类似 str操作 (参考上一节字符串操作) [1,2,3,4] [1,2,'a', True, [2,'b']]   ...

  8. Exception in Spark

    1: Exception in thread "main" org.apache.spark.SparkException: org.apache.spark.streaming. ...

  9. FSDB Dumper

    FSDB:Fast Signal Database 相比较于VCD文件,FSDB文件的大小比VCD波形小5-50倍. 各家的仿真器都支持在simulation的过程中,直接生成FSDB文件 将VCD文 ...

  10. Codeforces Round #324 (Div. 2) E

    这题贪心,考虑先放第一个,然后从第一个数在p中的位置, 不断的往前走,和在他后面的那些数组进行交换,因为这样交换可以提高最大的效率,就是说你花费了1但是使得两个点都朝他的木匾节点减少了1 #inclu ...