美文网首页MySQL
【MySQL】TokuDB引擎安装教程

【MySQL】TokuDB引擎安装教程

作者: 拾荒者charley | 来源:发表于2018-03-09 18:52 被阅读0次

    TokuDB引擎安装起来貌似有点麻烦,在这里做个笔记,安装几步走

    • Percona MySQL5.6安装
    • TokuDB引擎安装
      第一步咱们直接省略,跟官方版本MySQL5.6安装方法基本相同,下面来写下安装TokuDB引擎安装。
      一、关闭内存大页
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    

    查看下

    root@ptest:~# cat /sys/kernel/mm/transparent_hugepage/enabled
    always madvise [never]
    root@ptest:~# cat /sys/kernel/mm/transparent_hugepage/defrag
    always madvise [never]
    

    二、安装jemalloc
    上传jemalloc安装包jemalloc-4.2.1.tar,这里听锐志兄说3.6版本以上会出问题,但我这里貌似没有问题。
    上传后直接解压编译安装就可以了。
    导入:

    export LD_PRELOAD=/usr/local/jemalloc/lib/libjemalloc.so
    

    查看是否导入成功:

    #lsof -n | grep jemalloc
    

    更改MySQL配置文件:(参考老叶的配置文件)

    #
    #my.cnf
    # 
    # Percona-5.6.17, TokuDB-7.1.6,用于Zabbix数据库参考配置
    # 我的服务器配置:E5-2620 * 2,64G内存,1T可用磁盘空间(建议datadir所在分区设置为xfs文件系统)
    # TokuDB版本:Percona-5.6.17, TokuDB-7.1.6(插件加载模式)
    # 
    # created by yejr(http://imysql.com), 2014/06/24
    # 
    [client]
    port            = 3306
    socket          = mysql.sock
    #default-character-set=utf8
     
    [mysql]
    prompt="\\u@\\h \\D \\R:\\m:\\s [\\d]>
    #pager="less -i -n -S"
    tee=/home/mysql/query.log
    no-auto-rehash
     
    [mysqld]
    open_files_limit = 8192
    max_connect_errors = 100000
     
    #buffer & cache
    table_open_cache = 2048
    table_definition_cache = 2048
    max_heap_table_size = 96M
    sort_buffer_size = 2M
    join_buffer_size = 2M
    tmp_table_size = 96M
    key_buffer_size = 8M
    read_buffer_size = 2M
    read_rnd_buffer_size = 16M
    bulk_insert_buffer_size = 32M
     
    #innodb
    #只有部分小表保留InnoDB引擎,因此InnoDB Buffer Pool设置为1G基本上够了
    innodb_buffer_pool_size = 1G
    innodb_buffer_pool_instances = 1
    innodb_data_file_path = ibdata1:1G:autoextend
    innodb_flush_log_at_trx_commit = 1
    innodb_log_buffer_size = 64M
    innodb_log_file_size = 256M
    innodb_log_files_in_group = 2
    innodb_file_per_table = 1
    innodb_status_file = 1
    transaction_isolation = READ-COMMITTED
    innodb_flush_method = O_DIRECT
    
    #tokudb
    malloc-lib= /usr/local/mysql/lib/mysql/libjemalloc.so
    plugin-dir = /usr/local/mysql/lib/mysql/plugin/
    plugin-load=ha_tokudb.so
     
    #把TokuDB datadir以及logdir和MySQL的datadir分开,美观点,也可以不分开,注释掉本行以及下面2行即可
    tokudb-data-dir = /data/mysql/zabbix_3306/tokudbData
    tokudb-log-dir = /data/mysql/zabbix_3306/tokudbLog
     
    #TokuDB的行模式,建议用 FAST 就足够了,如果磁盘空间很紧张,建议用 SMALL
    #tokudb_row_format = tokudb_small
    tokudb_row_format = tokudb_fast
    tokudb_cache_size = 44G
     
    #其他大部分配置其实可以不用修改的,只需要几个关键配置即可
    tokudb_commit_sync = 0
    tokudb_directio = 1
    tokudb_read_block_size = 128K
    tokudb_read_buf_size = 128K
    

    重启MySQL
    三、安装TokuDB引擎

    ps_tokudb_admin --enable -uroot -p -S /tmp/mysql3306.sock
    

    输出如下:

    [root@localhost bin]# ps_tokudb_admin --enable -uroot -p -S /tmp/mysql3306.sock
    Enter password:
    
    Checking SELinux status...
    INFO: SELinux is in permissive mode.
    
    cat: mysql.pid: No such file or directory
    Checking if Percona Server is running with jemalloc enabled...
    WARNING: The file /proc//environ is not readable so impossible to check LD_PRELOAD for jemalloc.
             Possibly running inside container so assuming jemalloc is preloaded and continuing...
             If there will be an error during plugin installation try to restart mysql service and run this script again.
    
    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.
    

    表示TokuDB安装成功,我们进入MySQL查看:

    root@localhost [(none)]>show engines;
    +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
    | Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
    +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
    | FEDERATED          | NO      | Federated MySQL storage engine                                             | NULL         | NULL | NULL       |
    | CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
    | MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
    | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears)             | NO           | NO   | NO         |
    | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
    | TokuDB             | YES     | Percona TokuDB Storage Engine with Fractal Tree(tm) Technology             | YES          | YES  | YES        |
    | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
    | ARCHIVE            | YES     | Archive storage engine                                                     | NO           | NO   | NO         |
    | PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
    | InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
    +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
    10 rows in set (0.00 sec)
    

    至此,TokuDB安装成功,后续会给大家带来InnoDB与TokuDB引擎的性能测试对比。

    相关文章

      网友评论

        本文标题:【MySQL】TokuDB引擎安装教程

        本文链接:https://www.haomeiwen.com/subject/fbdmfftx.html