您好,登錄后才能下訂單哦!
Mysql如何安裝tokudb引擎,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
平臺支持:
TokuDB 只能在 64-bit Linux 下使用.
最小內(nèi)存要求:
TokuDB 需要至少1GB 的物理內(nèi)存,當然這里建議最好是 2GB
tokuDB內(nèi)存分配需要jemalloc支持(一般安裝percona mysql以后自己就有,如果沒有則需要額外安裝)
yum install jemalloc
編譯安裝參考:http://blog.itpub.net/29096438/viewspace-2122906/
二進制包安裝:
下載:
[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è)置
[mysqld_safe]
malloc-lib=/usr/local/mysql/lib/libjemalloc.so
plugin-dir =/usr/local/mysql/lib/mysql/plugin/
#tokudb
#把TokuDB datadir以及l(fā)ogdir和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
#其他大部分配置其實可以不用修改的,只需要幾個關(guān)鍵配置即可
tokudb_commit_sync = 0
tokudb_directio = 1
tokudb_read_block_size = 128K
tokudb_read_buf_size = 128K
若將上述參數(shù)寫在[mysqld]下,則show engines中tokudb引擎不存在了了,失效了
若將上述參數(shù)寫在[mysqld_safe]下,tokudb引擎還存在,也能建立tokudb表,但是這些參數(shù)配置是沒生效的。。。。。。。待解決
注意:
mysql版本:mysql官方社區(qū)版5.6.24 搭建成功后 新建表就重啟,建標就重啟
錯誤日志:遇到了bug?
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.
解決辦法:換成percona server
社區(qū)版5.6.24
得以解決
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(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)容。