官方文档:https://www.percona.com/doc/percona-tokudb
下载rpm包:https://www.percona.com/downloads/Percona-Server-5.6/
修改系统参数
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
建议写到 /etc/rc.local 中,重启后也可生效
加载Tokudb:
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 SONAME ‘ha_tokudb.so’; ###安装这个后会生成toku相应的日志文件和回滚文件等,需要删除
(如果指定的数据文件和日志文件不在默认的mysql数据目录下的话)然后在my.cnf配置好toku的参数后重启即可
修改后数据目录:
-rw-r----- 1 mysql mysql 383958 8月 21 21:28 10-97-125-18.err
-rw-rw---- 1 mysql mysql 7 8月 21 16:10 10-97-125-18.pid
-rw-rw---- 1 mysql mysql 85629 8月 21 16:10 10-97-125-18-slow.log
-rw-rw---- 1 mysql mysql 56 7月 27 20:33 auto.cnf
drwxr-xr-x 2 mysql mysql 4096 7月 28 19:18 heartbeat
-rw-r--r-- 1 mysql mysql 2562719744 8月 21 16:10 ibdata1
-rw-rw---- 1 mysql mysql 1073741824 8月 21 16:10 ib_logfile0
-rw-rw---- 1 mysql mysql 1073741824 8月 21 16:10 ib_logfile1
-rw-rw---- 1 mysql mysql 1073741824 8月 18 21:02 ib_logfile2
-rw------- 1 mysql mysql 1871 8月 21 21:51 log000000000000.tokulog27
drwx--x--x 2 mysql mysql 4096 7月 27 20:33 mysql
srwxrwxrwx 1 mysql mysql 0 8月 21 16:10 mysql.sock
drwxr-xr-x 2 mysql mysql 4096 7月 27 20:33 performance_schema
-rw-r--r-- 1 mysql mysql 1133 8月 21 16:09 RPM_UPGRADE_HISTORY
-rw-r--r-- 1 mysql mysql 126 8月 21 16:09 RPM_UPGRADE_MARKER-LAST
drwx------ 2 mysql mysql 4096 8月 17 17:05 shipin7
drwx------ 2 mysql mysql 4096 8月 13 14:24 test
-rw-rw---- 1 mysql mysql 16384 8月 21 21:46 tokudb.directory
-rw-rw---- 1 mysql mysql 16384 8月 21 21:46 tokudb.environment
-rw------- 1 mysql mysql 0 8月 21 21:46 __tokudb_lock_dont_delete_me_data
-rw------- 1 mysql mysql 0 8月 21 21:46 __tokudb_lock_dont_delete_me_environment
-rw------- 1 mysql mysql 0 8月 21 21:46 __tokudb_lock_dont_delete_me_logs
-rw------- 1 mysql mysql 0 8月 21 21:46 __tokudb_lock_dont_delete_me_recovery
-rw------- 1 mysql mysql 0 8月 21 21:46 __tokudb_lock_dont_delete_me_temp
-rw-rw---- 1 mysql mysql 16384 8月 21 21:46 tokudb.rollback
-rw-r--r-- 1 mysql mysql 596 7月 27 20:33 xtrabackup_info
安装成功后确认:
mysql> select * from engines;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| ENGINE | SUPPORT | COMMENT | TRANSACTIONS | XA | SAVEPOINTS |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | 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 | Tokutek TokuDB Storage Engine with Fractal Tree(tm) Technology | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
卸载Tukodb:
UNINSTALL PLUGIN tokudb ;
UNINSTALL PLUGIN tokudb_file_map ;
UNINSTALL PLUGIN tokudb_fractal_tree_info;
UNINSTALL PLUGIN tokudb_fractal_tree_block_map;
UNINSTALL PLUGIN tokudb_trx ;
UNINSTALL PLUGIN tokudb_locks;
UNINSTALL PLUGIN tokudb_lock_waits;
另外进入数据目录删除tokudb相关的文件
并且注释掉my.cnf toku相关的配置参数即可
以上是mysql 5.6版本
以下是mysql 5.7版本
下载rpm包:
https://www.percona.com/downloads/Percona-Server-5.7
修改系统参数:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
安装包及其依赖:
yum install -y jemalloc
rpm -ivh Percona-Server-tokudb-57-5.7.12-5.1.el6.x86_64.rpm
开启toku:
ps_tokudb_admin --enable -u -p
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 not set in the config file.
(needed only if THP is not disabled permanently on the system)
Checking TokuDB engine plugin status...
INFO: TokuDB engine plugin is not installed.
Adding thp-setting=never option into /etc/my.cnf
INFO: Successfully added thp-setting=never option into /etc/my.cnf
Installing TokuDB engine...
INFO: Successfully installed TokuDB engine plugin.
安装完成。