Skip to content

Removing TokuDB storage engine

In case you want remove the TokuDB storage engine from Percona Server for MySQL without causing any errors, the following is the recommended procedure:

Change the tables from TokuDB to InnoDB

If you still need the data in the TokuDB tables you must alter the tables to another supported storage engine, i.e., InnoDB:

mysql> ALTER TABLE City ENGINE=InnoDB;

Note

Removing the TokuDB storage engine before you have changed your tables to another supported storage engine closes access to that data. You must re-install the TokuDB storage engine to regain access.

Removing the plugins

One option is to remove the TokuDB storage engine with all installed plugins by running the ps-admin script:

ps-admin --disable-tokudb -uroot -pPassw0rd

The script output should look like this:

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 set in the config file.

Checking TokuDB plugin status...
>> TokuDB plugin is installed.

Removing thp-setting=never option from /etc/mysql/my.cnf
>> Successfully removed thp-setting=never option from /etc/mysql/my.cnf

Uninstalling TokuDB plugin...
>> Successfully uninstalled TokuDB plugin.

Note

The ps-admin removal may not restore the Transparent Huge Pages (THP) to the original operating system default state. You may have the following result:

$ cat /sys/kernel/mm/transparent_hugepage/enabled

The output could be the following:

always madvise [never]

On many operating systems, the default state is [always]. To enable transparent huge pages, run the following:

echo always > /sys/kernel/mm/transparent_hugepage/enabled

Another option is to manually remove the TokuDB storage engine with all installed plugins:

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;
UNINSTALL PLUGIN tokudb_background_job_status;

After the engine and the plugins have been uninstalled you can remove the TokuDB package by using the apt/yum commands:

[root@centos ~]# yum remove Percona-Server-tokudb-57.x86_64

or

root@wheezy:~# apt remove percona-server-tokudb-5.7

Note

Make sure you’ve removed all the TokuDB specific variables from your configuration file (my.cnf) before you restart the server, otherwise server could show errors or warnings and will not start.