Installing TokuDB Storage Engine on Percona MySQL Server
I was installing TokuDB Storage Engine on Percona 5.7 Server based on this Percona guide, when I realized that there’s no my.cnf file.
You are still able to configure the server and install plugins from within the MySQL CLI.
Tech Specs:
OS: Debian Jessie
RAM: 32 GB
CPU 2 Cores, 4 Threads
Storage: SSD NVMe Samsung 960 Evo
More about the server:
This little MONSTER is amazing!
I have it paired with Intel G4560, 32 GB DDR4 G.Skill Ripjaws (2 x 16 GB) and M.2 Samsung Evo 960 250GB. Installed Debian Jessie server edition (with latest kernel) and did SSD read/write benchmark. It does 1.7 GB/s write and 3.8 GB/s read of 1 GB file. Insane!!!
Stock CPU fan – CPU 32C, motherboard 34C degrees. Under load 38-40C max!
I had to buy Skylake CPU (Intel G4400) to update the BIOS for the Kaby Lake (Intel G4560) support. It’s LAME! Those manufacturers must integrate USB flashing by default as a basic functionality! If I had time I would send the motherboard back or just return it. Unfortunately I had no time to ship my motherboard for BIOS update. It was in the product description that it supports 6th Gen Skylake CPU, even on ASUS’ website it was clearly stated that it needs BIOS update, so it’s not something that I didn’t know. It still is the best, smallest STX motherboard!
I would highly recommend and I would buy AGAIN this little monster board! I hope it stays sharp and fast!
I’ve been waiting for an STX form factor for years. It’s dream come true! 🙂
Thanks crazy awesome ASUS! 🙂
Here’s how to do it:
- Installing Percona Server on Debian and Ubuntu (Official)
- To avoid “ERROR 1123 (HY000): Can’t initialize function ‘TokuDB’; Plugin initialization function failed”, you need to disable Kernel Transparent Hugepages for TokuDB, if not disabled.
Here’s how to check:
1cat /sys/kernel/mm/transparent_hugepage/enabled
It should return something like:
1[always] madvise never
If it’s not set to never, you can do:
123if test -f /sys/kernel/mm/transparent_hugepage/enabled; thenecho never > /sys/kernel/mm/transparent_hugepage/enabledfi
Reboot.
Test again after boot:
1cat /sys/kernel/mm/transparent_hugepage/enabled
Now it should be:
1always madvise [never]
- Dependencies
You need libjemalloc library installed. Quick and simple installation:
12apt-get install libjemalloc-devapt-get build-dep libjemalloc-dev
- Install The TokuDB Engine
123456789101112mysql -uroot -p# Install the TokuDB Enginemysql> install plugin tokudb soname 'ha_tokudb.so';# Install the Other TokuDB Pluginsmysql> install plugin tokudb_trx soname 'ha_tokudb.so';mysql> install plugin tokudb_locks soname 'ha_tokudb.so';mysql> install plugin tokudb_lock_waits soname 'ha_tokudb.so';mysql> install plugin tokudb_file_map soname 'ha_tokudb.so';mysql> install plugin tokudb_fractal_tree_info soname 'ha_tokudb.so';mysql> install plugin tokudb_fractal_tree_block_map soname 'ha_tokudb.so';
Test to check, if the TokuDB storage engine was successfully installed do:
1mysql>SHOW ENGINES;
That’s it. Enjoy! 🙂
Feel free to shoot me a message in the comments.
Hi
What board did you end up with?
Hi Peter,
I use the ASUS H110S2/CSM LGA1151 DDR4 Dual GB LAN DP HDMI LVDS Mini-STX.
Here you can see the cluster configuration and hardware https://phishman.com/arm-based-web-cluster-build-log-part-1/