溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mysql如何安裝tokudb引擎

發(fā)布時間:2021-10-25 16:21:08 來源:億速云 閱讀:313 作者:柒染 欄目:MySQL數(shù)據(jù)庫

Mysql如何安裝tokudb引擎,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

平臺支持:

    TokuDB 只能在 64-bit Linux 下使用.
最小內(nèi)存要求:
    TokuDB 需要至少1GB 的物理內(nèi)存,當然這里建議最好是 2GB 

安裝tokuDB   

      tokuDB內(nèi)存分配需要jemalloc支持(一般安裝percona mysql以后自己就有,如果沒有則需要額外安裝)    

 1 安裝jemalloc
  1.          yum install jemalloc
         編譯安裝參考:http://blog.itpub.net/29096438/viewspace-2122906/

 2:安裝tokudb
  1. 二進制包安裝:

  2. 下載:

  3. [root@host-192-168-1-56 plugin]# wget https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.24-72.2/binary/tarball/Percona-Server-5.6.24-rel72.2-TokuDB.Linux.x86_64.ssl101.tar.gz


解壓拷貝tokudb.so至mysql plugin目錄即可
[root@host-192-168-1-56 plugin]# cp ha_tokudb.so /home/data/mysql/lib/plugin/

修改內(nèi)核配置,禁用transparent_hugepage,不關(guān)閉的話可能會導致TokuDB內(nèi)存泄露(建議寫到 /etc/rc.local 中,重啟后仍可生效):
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

安裝即可
mysql> INSTALL PLUGIN tokudb_file_map SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.07 sec)


mysql> INSTALL PLUGIN tokudb_fractal_tree_info SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.00 sec)


mysql> INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.00 sec)


mysql> INSTALL PLUGIN tokudb_trx SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.00 sec)


mysql> INSTALL PLUGIN tokudb_locks SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.00 sec)


mysql> INSTALL PLUGIN tokudb_lock_waits SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.00 sec)


mysql> INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';
Query OK, 0 rows affected (0.38 sec)


mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| 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         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| TokuDB             | YES     | Tokutek TokuDB Storage Engine with Fractal Tree(tm) Technology | YES          | YES  | YES        |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
10 rows in set (0.04 sec)


4 配置文件tokudb參數(shù)設(shè)置

  1. [mysqld_safe]
    malloc-lib=/usr/local/mysql/lib/libjemalloc.so
    plugin-dir =/usr/local/mysql/lib/mysql/plugin/

  2. #tokudb

  3. #把TokuDB datadir以及l(fā)ogdir和MySQL的datadir分開,美觀點,也可以不分開,注釋掉本行以及下面2行即可

  4. tokudb-data-dir = /data/mysql/zabbix_3306/tokudbData

  5. tokudb-log-dir = /data/mysql/zabbix_3306/tokudbLog

  6.  

  7. #TokuDB的行模式,建議用 FAST 就足夠了,如果磁盤空間很緊張,建議用 SMALL

  8. #tokudb_row_format = tokudb_small

  9. tokudb_row_format = tokudb_fast

  10. tokudb_cache_size = 44G

  11.  

  12. #其他大部分配置其實可以不用修改的,只需要幾個關(guān)鍵配置即可

  13. tokudb_commit_sync = 0

  14. tokudb_directio = 1

  15. tokudb_read_block_size = 128K

  16. tokudb_read_buf_size = 128K


若將上述參數(shù)寫在[mysqld]下,則show engines中tokudb引擎不存在了了,失效了
若將上述參數(shù)寫在[mysqld_safe]下,tokudb引擎還存在,也能建立tokudb表,但是這些參數(shù)配置是沒生效的。。。。。。。待解決



注意:

  1. mysql版本:mysql官方社區(qū)版5.6.24 搭建成功后 新建表就重啟,建標就重啟


    1. 錯誤日志:遇到了bug?

    2. Version: '5.6.24-log'  socket: '/home/data/mydata/3308/mysql.sock'  port: 3308  Source distribution
      08:44:47 UTC - mysqld got signal 11 ;
      This could be because you hit a bug. It is also possible that this binary
      or one of the libraries it was linked against is corrupt, improperly built,
      or misconfigured. This error can also be caused by malfunctioning hardware.
      We will try our best to scrape up some info that will hopefully help
      diagnose the problem, but since we have already crashed, 
      something is definitely wrong and this may fail.


      key_buffer_size=8388608
      read_buffer_size=131072
      max_used_connections=1
      max_threads=8096
      thread_count=1
      connection_count=1
      It is possible that mysqld could use up to 
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 3220280 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.



  2. 解決辦法:換成percona server 

  3. 社區(qū)版5.6.24

  4. 得以解決

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI