一次ubuntu安装MariaDB(tokudb引擎)的经过

首先说明下,为什么会有这样的事情发生? 没事测试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/


sudo ps_tokudb_admin --enable -u root -pxiaorui.cc

Checking if Percona Server is running with jemalloc enabled...
ERROR: Percona Server is not running with jemalloc, please restart mysql service to enable it and then run this script...

The error remains after restarting the mysql service and the server.

我们这次就选用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

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi


大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码,感谢!
另外再次标注博客原地址  xiaorui.cc

发表评论

邮箱地址不会被公开。 必填项已用*标注