阿里云
社区时光机
发表主题 回复主题
  • 1555阅读
  • 1回复

[教程]Ubuntu 下 MariaDB 安装 TokuDB 并设为默认引擎

级别: 论坛版主
发帖
9291
云币
14034
— 本帖被 不靠谱贝贝 设置为精华(2017-07-28) —
C`K/ai{4  
4B(qVf&M  
介绍 $5O&[/L  
AU2Nmf?]%  
TokuDB 是非常有效的数据库引擎,在阿里、腾讯均有广泛的运用,MySQL 的变种 Percona Server 和 AliSQL 均推荐启用 TokuDB 并作为默认引擎。其以优异的压缩性能和储存表现,被广泛的应用,颇有代替 InnoDB 之势。 I.x>mN -0  
WordPress 是没有外键的,因此可以完美的使用 TokuDB,使用其优秀特性。这里将介绍的是 MariaDB 如何开启 TokuDB 功能。 qr1^i1%\  
e9nuQ\=  
cA,xf@itp  
安装 MariaDB 教程请看:Ubuntu 安装 MariaDB Server eS M!_2  
JM0)x}] +  
教程 ?e*vvu33!  
f}A^rWO  
-)/>qFj )  
关闭 THP es{ 9[RHK  
&0myA_So  
TDFv\y}yc  
THP(Transparent Huge Pages) 在有数据库服务(Mysql、Redis、MongoDB)的机器上都是建议关闭的 不然总会发生莫名其妙的事情,TokuDB 也是一定要关闭的。 7}MWmS^8j  
在 /etc/rc.local 加入如下语句,这样就算重启系统也会动关闭 THP &x}JC/u]fd  
/on p<u  
dBkB9nz  
  1. echo never > /sys/kernel/mm/transparent_hugepage/enabled
  2. echo never > /sys/kernel/mm/transparent_hugepage/defrag
6Z 7$ZQ~  
n=~?BxB  
安装 TokuDB uxBk7E%6  
t+ @F"[j  
  1. apt install mariadb-plugin-tokudb
j56Y,Tm  
7u;B[qH  
对,就这么简单,自动安装好 tokudb 引擎,如果没有安装 jemalloc 还会自动安装,还会自动生成 /etc/mysql/mariadb.conf.d/tokudb.cnf 文件,真的很贴心~ vv3?ewr y  
重启 MariaDB
  1. systemctl restart mysql
FM5$83Q  
Pj$a$C`Z  
设为默认引擎 8EQ;+V  
l[gL(p"W  
'W)x<Iey1  
使用下面命令,登入数据库,查看可用引擎: 6 J#C  
DWDe5$^{  
  1. mysql -u root -p  #下面要输入你的密码
  2. MariaDB [(none)]> show engines;
wI:oe`?H  
jWQB~XQY  
在中间可以看到这条,不过还不是默认引擎,默认引擎是 InnoDB NEvt71k  
q?6Zu:':  
  1. | TokuDB             | YES     | Percona TokuDB Storage Engine with Fractal Tree(tm) Technology                   | YES          | YES  | YES        |
drH!?0Dpg  
5<61NnZ  
输入设为默认引擎: h<uQ~CQg  
IQ\`n|  
  1. SET storage_engine=TokuDB;
$iV3>>;eh  
0\/7[nwS  
然后输入 quit; 退出。 l{ k   
0GB6.Ggft  
#ws6z`mt  
注: 这是临时设置为默认引擎的,重启数据库之后就继续变成默认 InnoDB,因为有些程序还是不支持 TokuDB的,通过这时候创建的数据表并不会退回到 InnoDB 而是继续是 TokuDB。 ;@sxE}`?g  
[ 此帖被妙正灰在2017-07-28 11:49重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +1
魔咒626 云币 +1 优秀文章-欢迎进行技术分享,感谢你的支持! 2017-07-29
级别: 论坛版主
发帖
1925
云币
3936
只看该作者 沙发  发表于: 2017-07-29
优秀文章-欢迎进行技术分享,感谢你的支持!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 33 + 22 = ?
上一个 下一个