MySQL TokuDB引擎安装详解
背景:
TokuDB引擎是有Tokutek开发的一个数据库存储引擎,在设计之初便引入了独特的索引算法,在其官网测试的文章中看到TokuDB性能比InnoDB高出很多。
MySQL是一个插件式的数据库,在MySQL5.5版本之前MyISAM是MySQL的默认存储引擎,在之后的版本中默认的存储引擎变成了InnoDB。其特点是它支持事务,具有完善的崩溃恢复机制,具体的特点这里不说明,可以自行的寻找资料。这里介绍的TokuDB和InnoDB有很多相似之处:一个高性能,支持事务、MVCC、聚簇索引等。最大的不同在于TokuDB采用了一种叫做Fractal Tree的索引结构,使其在随机写数据的处理上有很大提升。一般来说数据库的索引结构都采用B+Tree或则类似的数据结构,InnoDB也是如此。InnoDB是以主键组织的B+Tree结构,数据按照主键顺序排列。对于顺序的自增主键有很好的性能,但是不适合随机写入,大量的随机I/O会使数据页分裂产生碎片,索引维护开销很多大。而TokuDB的Fractal Tree的索引结构很好的解决了这个问题。
TokuDB解决随机写入的问题得益于其索引结构,Fractal Tree 和 B-Tree的差别主要在于索引树的内部节点上,B-Tree索引的内部结构只有指向父节点和子节点的指针,而Fractal Tree的内部节点不仅有指向父节点和子节点的指针,还有一块Buffer区。当数据写入时会先落到这个Buffer区上,该区是一个FIFO结构,写是一个顺序的过程,和其他缓冲区一样,满了就一次性刷写数据。所以TokuDB上插入数据基本上变成了一个顺序添加的过程。
TokuDB另一个特点是压缩性能和低CPU消耗,TokuDB存储引擎默认的块大小是4M,这使其有更好的压缩效率。默认支持压缩功能,不需要配置其他的东西。压缩选项有:TokuDB_Quicklz、TokuDB_Lzma、TokuDB_Zlib,同时也支持非压缩选项。TokuDB_Zlib支持的默认压缩格式。一般压缩都需要消耗更多的CPU。但TukuDB消耗的CPU资源较少。
安装:
首先查看自己服务器的信息
输入:cat /proc/version
显示Linux内核为Red Hat,根据官网的安装步骤进行安装
https://www.percona.com/doc/percona-server/5.7/installation/yum_repo.html
1.安装Percona MySQL的仓库
$ yum install http://repo.percona.com/centos/7/RPMS/x86_64/Percona-Server-selinux-57-5.7.31-rel84.2.el7.noarch.rpm
之后点击y
2 .测试仓库
输入:
yum list | grep percona
得到如下信息,说明正常可用
3. 安装Percona MySQL
yum install Percona-Server-server-57
安装Percona Mysql5.7,一路输入y,安装成功如下:
4.安装MySQL服务
4.1 运行适用于MySQL的Percona Server
- 启动MySQL服务:service mysql start
- 确认MySQL服务是否正常:service mysql status
- 停止MySQL服务:service mysql stop
- 重启MySQL服务:service mysql restart
4.2 使用临时密码登录并修改密码
grep 'temporary password' /var/log/mysqld.log
找到该文件中的临时密码,并以此登录mysql,由于这个密码中含有特殊字符所以我们需要先数登录命令再输入密码
mysql -u root -p
MySQL TokuDB设置密码:
set password=password('C123!@#');
4.3 修改编码
编辑/etc/my.cnf文件,在[mysqld]下面添加一行(没有[mysqld]就添加一行),不能再写以前的default_character_set了,必须是default-character-set=utf8 。
[mysqld]
character_set_server=utf8
4.4 设置外网可以访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'CXMlog_toku_123!@#' WITH GRANT OPTION;
FLUSH PRIVILEGES;
5 . 安装TokuDB
5.1 安装jemalloc,并查看安装信息:
yum install jemallocrpm -qa |grep jemallocrpm -ql jemalloc-3.6.0-1.el7.x86_64
第一步完成后,执行第二步,得到安装的版本信息,再执行第三步,找到安装文件的信息如下:
5.2 配置依赖
编辑/etc/my.cnf,添加jemalloc的地址,就是上图.so.1后缀文件全路径。(官网的路径为malloc-lib= /path/to/jemalloc,百度才得到真正的值是上图的文件路径)
[mysqld_safe]
malloc-lib=/usr/lib64/libjemalloc.so.1
5.3 检查Transparent huge pages
关闭操作:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
5.4 安装TokuDB
版本必须和Percona的版本一致,我们前面安装的是Percona5.7,所以此处也需要安装toku5.7,否则提示版本冲突
yum install Percona-Server-tokudb-57.x86_64
安装完成如下
6. TokuDB引擎启动
ps_tokudb_admin --enable -uroot -p
引擎插件安装成功,截图如下:
查看引擎
show engines;
至此,终于成功安装了tokuDB插件了。
MySQL TokuDB引擎安装详解相关推荐
- TokuDB引擎安装详解
背景 项目目前使用的Sequoiadb数据库,撑不住每小时千万的数据量了,所以领导安排研究TokuDB. 安装TokuDB引擎之前需要先安装MySQL,而且推荐的是Percona MySQL.本文选择 ...
- mysql 储存引擎_详解mysql存储引擎的标准
浅谈选择mysql存储引擎的标准 主要存储引擎的介绍 1.InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务.除非有非常特别的原因 ...
- MySQL 下载和安装详解
文章目录 1 下载 1.1 官方网站 1.2 安装 2 配置环境变量 2.1 配置 path 2.2 新建 my.ini 2.3 以管理员身份运行 cmd(win+r) 2.4 继续输入 mysqld ...
- mysql源码安装详解
文章目录 MYSQL简介 实验环境 安装步骤 总结 mysql常用配置文件参数 常见mysql 启动报错总结 MYSQL简介 查看mysql简介 查看cmake编译mysql 实验环境 数据库 IP ...
- MySQL数据库图文安装详解及相关问题
(尊重劳动成果,转载请注明出处: http://blog.csdn.net/qq_25827845/article/details/53366444冷血之心的博客) 首先说明:安装目录中不能有中文和空 ...
- tokudb mysql_【MySQL】TokuDB引擎安装教程
TokuDB引擎安装起来貌似有点麻烦,在这里做个笔记,安装几步走 Percona MySQL5.6安装 TokuDB引擎安装 第一步咱们直接省略,跟官方版本MySQL5.6安装方法基本相同,下面来写下 ...
- mysql安装包含哪几种文件_MySQL安装详解
MySQL安装详解 [下载地址:http://dev.mysql.com/downloads/] 参考文献:http://dev.mysql.com/doc/refman/5.1/zh/install ...
- mysql 安装 知乎_知乎问答3-MySQL安装详解
MySQL安装详解 步骤1:选择安装类型 有3种安装类型:Typical(典型安装).Complete(完全安装)和Custom(定制安装). Typical(典型安装)安装只安装MySQL服务器.m ...
- MySQL安装详细教程(小白式安装详解)
MySQL安装详细教程(小白式安装详解) 1.下载地址 1.1地址 https://dev.mysql.com/downloads/mysql/ 下载链接 1.2下载版本 2.安装配置 2.1路径(路 ...
最新文章
- identifier of an instance of was altered from to n
- 信息系统管理十大知识领域
- 读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)
- A. The Miracle and the Sleeper(水题)
- html搞笑注释,9个最有趣的代码注释
- 2怎么开机_MacBook如何取消开盖自动开机
- 【华为云技术分享】云图说丨初识标签管理服务:给你的云资源贴个条
- mysql 是如何利用索引的_10 分钟搞明白 MySQL 是如何利用索引的!
- day11函数的进阶动态参数,命名空间,作用域,第一类对象
- 隆冬寒骨,风吹十一豪迈
- Hadoop对小文件的解决方案
- SQL面试题(1-10)oracle写的
- 人工智能十种“新”数学
- VS2005 SP1补丁下载与安装
- Windows 用户和内核模式
- 虚拟服务器忘记密码,win7系统下VMware虚拟机忘记开机密码的解决方法
- matlab用方程的解赋值,Matlab隐式符号方程求解和赋值
- 手机如何制作gif?简单三步在线合成gif动图
- 用OneTab减少Chrome内存消耗
- mysql auto increment offset_mysql auto_increment_increment和auto_increment_offset