共计 3286 个字符,预计需要花费 9 分钟才能阅读完成。
本篇内容介绍了“MySQL 怎么配置 TokuDB”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
MySQL 中的存储引擎是插件式的,当然主流默认的是 InnoDB,而且 InnoDB 存储引擎会随着 MySQL 官方的搭理投入会越来越火。有了 MGR, 还有 InnoDB
Cluster, 其实听起来很炫彩,本质上 InnoDB Cluster 就是三大件(MySQL Shell,MySQL Router,MGR)
一直以来留给其他数据库的空间相对来说很小,比如 MyISAM 会在 MySQL
8.0 版本退出历史舞台,memory 存储引擎也会逐步被替代,还有些存储引擎,自身发展的过程中也被革命掉了,比如 falcon, 由 MySQL 中的 falcon 存储引擎引申的八卦杂谈 (r5 笔记第 23 天), 还有些存储引擎的使用场景实在是有限,处于一个比较尴尬的状态,比如 blackhole,csv,archive 等等。
TokuDB 这个存储引擎还蛮有意思,被 Percona 收购之后,在 Percona Server 的安装目录中就默认存在了,所以有的同学说 MySQL 社区版和 Percona 有什么差别,喏,TukuDB 就是一个。
此外还有很多的选择,比如 MyRocks,也是 Percona 本身在大力推行的,TokuDB 的更新自然会有延迟。
选择测试 TokuDB 是因为本身已有业务在使用,自然是想看看在 5.7 的版本中的表现如何。TokuDB 尤其适合密集型插入场景,压缩比很高,在一些应用中,比如 zabbix 数据存储中还是很受欢迎的,或者是纯流水历史数据的记录。
1)要配置 TokuDB,如果已经有了 Percona 的软件则不需要做额外的工作了,否则从插件式的安装角度来说,你也可以拷贝 so 的文件在其他版本中安装。
2)我们给 TokuDB 创建几个指定的目录,比如
创建目录 toku_data toku_log tmp 分别存储数据,日志和临时文件
3)赋予指定的权限,比如 mysql 组。
mkdir -p toku_data toku_log tmp
chown -R mysql.mysql toku_data toku_log tmp
4)修改参数文件 my.cnf
添加额外的几个参数:
tokudb_cache_size = 700M
tokudb_commit_sync = 1
tokudb_support_xa = 1
tokudb_data_dir = /data/mycat_test/s1/toku_data
tokudb_directio = 0
tokudb_log_dir = /data/mycat_test/s1/toku_log
tokudb_pk_insert_mode = 2
tokudb_row_format = tokudb_zlib
tokudb_tmp_dir = /data/mycat_test/s1/tmp
tokudb_hide_default_row_format = 0
tokudb_lock_timeout_debug = 3
[mysqld_safe]
thp-setting=never
5)配置数据库的密码, 在 tokuDB 的配置中,还是需要设置下指定用户的密码,要不后期很容易失败。
update mysql.user set authentication_string=password(xxxx) where user= root
flush privileges;
6)使用命令 ps_tokudb_admin 来激活 TokuDB, 指定 socket 路径,端口等等。
./ps_tokudb_admin
–enable –user=root –password -S /data/mycat_test/s1/s1.sock
–port=33001 –defaults-file=/data/mycat_test/s1/s1.cnf
这个步骤会完成所有的检查,如果正常的话,基本日志就是下面的样子,
比如 5.7 里面不需要单独指定 jemalloc 了,Transparent huge page 关闭,thp_setting 的配置这些都是重点内容,在这个步骤这个脚本也会自动修复。
Checking SELinux status…
INFO: SELinux is disabled.
Checking if Percona Server is running with jemalloc enabled…
INFO: Percona Server is running with jemalloc enabled.
Checking transparent huge pages status on the system…
INFO: Transparent huge pages are currently disabled on the system.
Checking if thp-setting=never option is already set in config file…
INFO: Option thp-setting=never is set in the config file.
Checking TokuDB engine plugin status…
INFO: TokuDB engine plugin is not installed.
Installing TokuDB engine…
INFO: Successfully installed TokuDB engine plugin.
如果不顺利,很可能是如下的日志:
ERROR: Failed to install TokuDB engine plugin. Please check error log.
就需要仔细看一下 error log 文件,看看到底是哪个环节可能出了问题。
安装完成后,查看 show engines 就可以看到存储引擎是没有问题了。
或者是使用如下的 SQL 来看看 TokuDB 的版本信息。
SELECT @@tokudb_version;
整个过程其实会安装很多 TokuDB 的插件,这些是我们需要注意的点。
| Name | Status | Type | Library | License |
+——————————-+———-+——————–+————–+———+
| TokuDB | ACTIVE | STORAGE ENGINE | ha_tokudb.so | GPL |
| TokuDB_file_map | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
| TokuDB_fractal_tree_info | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
| TokuDB_fractal_tree_block_map | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
| TokuDB_trx | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
| TokuDB_locks | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
| TokuDB_lock_waits | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
| TokuDB_background_job_status | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL |
+——————————-+———-+——————–+————–+———+
接下来就是使用了,我们可以使用 TokuDB 来完成一些基本的测试,至少目前来看,从压缩比,性能来说还是不错的。
“MySQL 怎么配置 TokuDB”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!