下載最新的dbdeployer1.6.0,使用非root帳戶安裝dbdeployer,特別是mv的時候。sql
1,解壓緩存
dbdeployer unpack Percona-Server-5.7.22-22-Linux.x86_64.ssl101.tar.gz --sandbox-binary=/usr/localbash
2,安裝單實例Percona Serverpost
dbdeployer deploy single 8.0.11 --sandbox-home=/data/bakup --sandbox-binary=/usr/local --port=8011 --concurrent --native-auth-plugin --bind-address=0.0.0.0 --remote-access="%" --db-password="cc.123" --db-user="sa" --post-grants-sql="grant all on *.* to 'sa'@'%' with grant option ";
註明: 1,這裏的--port 是指安裝後MySQL的端口 2,--native-auth-plugin 客戶端如SQLLog能夠訪問MySQL
性能
安裝tokudb的pluginsspa
INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_file_map SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_fractal_tree_info SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_trx SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_locks SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_lock_waits SONAME 'ha_tokudb.so'; INSTALL PLUGIN tokudb_background_job_status SONAME 'ha_tokudb.so';
查看:SHOW ENGINES; tokudb是否安裝完畢!線程
SELECT @@tokudb_version; 查看tokudb的版本!blog
TokuDB裏可調優的參數很少,今天把"最重要"的幾個拉出來曬曬。事務
與性能相關的參數及說明:內存
tokudb_cache_size(bytes): 緩存大小,讀寫時候,數據會首先會緩存到這裏。 默認大小爲機器物理內存的一半。
tokudb_commit_sync(ON/OFF): 當事務提交的時候,是否要fsync log到磁盤。 默認開啓(ON),若是設置爲OFF,性能會提高,但可能會丟失事務(commit記錄到log buffer,可是未fsync到磁盤的事務)。 tokudb_directio(ON/OFF): 是否開啓Direct I/O功能,TokuDB在寫盤的時候,不管是否開啓Direct I/O,都是按照512字節對齊的。 默認爲OFF。 tokudb_fsync_log_period(ms): 多久fsync一下log buffer到磁盤,TokuDB的log buffer總大小爲32MB且不可更改。 默認爲0ms(此時作fsync的後臺線程一直處於wait狀態),此時受tokudb_commit_sync開關控制是否要fsync log到磁盤(checkpoint也會fsync log buffer的,默認爲1分鐘)。
針對不一樣的使用場景:
1) 對數據要求較高(不容許丟失數據,事務ACID完整性),只需根據內存調整tokudb_cache_size大小便可,建議開啓tokudb_directio。
2) 對數據要求不過高(容許部分數據丟失,不要求事務ACID完整性),可配置:
tokudb_commit_sync=OFF
tokudb_fsync_log_period=1000 #1s
在此配置下,每1秒對log buffer作下fsync,可充分利用log的group commit功能,若是TokuDB掛掉,則可能會丟失最多1秒的數據。