首先说明下,为什么会有这样的事情发生? 没事测试tokudb干嘛?  我现在还有一个身份是我们组的首席DBA….  太坑爹了…   看过我以前文章的朋友知道我们数据库有多大,现在mysql innodb引擎数据在2个T左右,如果是用tokudb 300G左右。  上次是用centos系统的percona版tokudb安装的从库, 这两天我们要改数据结构,当时建立表的时候是int(),我们知道int()最大的id只能是22亿左右,现在很快就要超出了。  扯这么多是干嘛?  主要是体验下,在tokudb引擎下,如何做到尽小的影响业务前提下,修改表结构。  当然在线上做操作前,我们首先找个ubuntu机器测试下,其实我也想找个centos,半夜在家,就对付下吧。  下次有时间去全面说下,centos下tokudb的安装及调优。

吐槽一个事情,在使用centos yum安装tokudb的时候,总是报错jemalloc的错误。当然我肯定安装了,反复的换着版本安装,并且还重新编译安装并制定了lib位置,依然报错…  搞得我一下子没脾气。

文章总是没完没了的修改,点击到原文链接查看更新后的文章。 

http://xiaorui.cc/?p=2355

http://xiaorui.cc/2015/11/17/%E4%B8%80%E6%AC%A1ubuntu%E5%AE%89%E8%A3%85mariadbtokudb%E5%BC%95%E6%93%8E%E7%9A%84%E7%BB%8F%E8%BF%87/


我们这次就选用MariaDB 10来安装,MariaDB在5.5.41开始就内置了Tokudb引擎,貌似mariadb 10更加简单了,在配置文件中打开注释就可以了。 

Install MariaDB

$ sudo apt-get install software-properties-common
$ sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
$ sudo add-apt-repository ‘deb http://lon1.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main’
$ sudo apt-get update && sudo apt-get install mariadb-server
$ mysql -V
mysql  Ver 15.1 Distrib 10.0.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

我们编辑下文件,在配置文件里加入so插件的支持。   vim /etc/mysql/conf.d/tokudb.cnf:  

plugin-load-add=ha_tokudb.so

重启数据库

$ sudo service mysql restart

如果启动时候报错,请查看/var/log/mysql.err错误日志。 

如果遇到这个问题    [ERROR] TokuDB will not run with transparent huge pages enabled.

另外我们需要注意一个内核参数, 一定要确保他是never状态。 

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

[always] madvise never

重启后他的配置就会消失,确保万一,大家把下面的配置放到rc.local启动里面。 

vim /etc/rc.local



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

关于Percona tokudb引擎的主从复制同步文档

mysql的tokudb引擎可以解决数据库占用硬盘空间大的问题,虽然舍弃了部分的读写应能,但因为我们的myql磁盘都是ssd的,所以这都不是事。 tokudb有几个压缩比率,...

阅读全文

发表评论