澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:MySQL_第一方数据库引擎_

2019-06-08 作者:数据库网络   |   浏览(130)

Percona TokuDB

Percona TokuDB. 1

1.     TokuDB说明... 1

2.     TokuDB安装... 1

3.     使用TokuDB. 1

叁.一 飞快插入和富索引... 一

3.2 聚集secondary索引... 1

3.三 在头脑引创制... 1

三.4 在线加多,删除,扩张,重命名列... 1

三.伍            压缩细节... 1

3.陆 修改表的压缩... 一

3.7 无io读复制... 1

3.八 事务和ACID包容恢复生机... 一

3.9 管理Log大小... 1

3.10 恢复... 1

三.1一 关闭写缓存... 壹

三.1二 进程追踪... 一

3.13 迁移到TokuDB. 1

4 TokuDB后台 ANALYZE TABLE. 1

四.一 后台作业... 一

四.二 自动深入分析... 1

4.3 系统变量... 一

4.4 information_schema相关表... 1

5 TokuDB变量... 1

6 TokuDB Troubleshooting. 1

六.壹 得知问题... 一

6.2 TukoDB锁... 1

6.2.1 TOKUDB_TRX表... 1

6.2.2 TOKUDB_LOCKS表... 1

6.2.3 TOKUDB_LOCK_WAITS表... 1

陆.三 引擎状态... 一

陆.4 全局状态变量... 一

7 Percona TokuBackup.. 1

7.1 从binary安装... 1

7.2 备份... 1

7.3 还原... 1

柒.肆 推荐配置... 一

七.肆.一 监察和控制进程... 一

7.4.2 排除源文件... 一

7.四.三 备份率阀值... 1

7.4.四 限制备份指标... 一

7.肆.伍 错误报告... 壹

7.四.陆 限制和已知的难点... 1

8 FAQ.. 1

 

Percona TokuDB,perconatokudb

    前阵子迁移zabbix到tokudb,整理部分操作笔记到那篇博文。澳门新萄京官方网站 1

    前阵子迁移zabbix到tokudb,整理部分操作笔记到那篇博文。澳门新萄京官方网站 2

1.  TokuDB说明

具体看:

Percona TokuDB

Percona TokuDB. 1

1.     TokuDB说明... 1

2.     TokuDB安装... 1

3.     使用TokuDB. 1

三.一 神速插入和富索引... 一

3.2 聚集secondary索引... 1

3.三 在线索引成立... 一

三.四 在线增添,删除,扩张,重命名列... 一

3.伍            压缩细节... 一

三.六 修改表的压缩... 一

3.7 无io读复制... 1

三.捌 事务和ACID包容复苏... 一

3.9 管理Log大小... 1

3.10 恢复... 1

三.11 关闭写缓存... 一

三.1二 进程追踪... 壹

3.13 迁移到TokuDB. 1

4 TokuDB后台 ANALYZE TABLE. 1

四.一 后台作业... ①

肆.二 自动深入分析... 一

四.3 系统变量... 一

4.4 information_schema相关表... 1

5 TokuDB变量... 1

6 TokuDB Troubleshooting. 1

陆.壹 得知难题... 1

6.2 TukoDB锁... 1

6.2.1 TOKUDB_TRX表... 1

6.2.2 TOKUDB_LOCKS表... 1

6.2.3 TOKUDB_LOCK_WAITS表... 1

陆.叁 引擎状态... 壹

六.四 全局状态变量... 1

7 Percona TokuBackup.. 1

7.1 从binary安装... 1

7.2 备份... 1

7.3 还原... 1

7.四 推荐配置... 一

⑦.四.一 监控进度... 1

柒.四.二 排除源文件... 一

七.四.三 备份率阀值... 1

柒.肆.4 限制备份目的... 一

七.四.5 错误报告... 一

柒.四.陆 限制和已知的标题... 一

8 FAQ.. 1

 

 

 

2.  TokuDB安装

Percona Server包容独立可用的TokuDB存款和储蓄引擎包。TokuDB引擎必须分开下载然后以插件的形式启用。那个包能够单独设置,无需任何特定的版本的Percona Server。

TokuDB存款和储蓄引擎是可扩充,ACID,MVCC的囤积引擎,提供基于索引查询,提供online的框架修改和削减slave延迟。这几个蕴藏引擎设计师为了写入质量,是依附fractal tree的。

警告:

       近期percona提供的TokuDB被采取在Percona Server 伍.七。TokuDB引擎从其余地点下载的不可能被兼容。TokuDB文件格式和MySQL变种不是同等的。从3个变种到其它三个或然供给做多少导入导出。

 

放置须求

Libjemalloc库

ToKuDB供给libjemalloc 三.3.0要么更加高版本。能够从percona或许其余地点下载。假使libjemalloc,之前没有安装,TokuDB存款和储蓄引擎在采用apt,yum安装的时候自动安装,可是并不会被加载到mysql,能够采纳如下配置导入。

[mysqld_safe]

malloc-lib= /path/to/jemalloc

大页面转化

TokuDB假设在大页面转化运维的时候不会被运维。大页面转化是新水源版本的功效。能够透过以下语句检查时候运维。

$ cat /sys/kernel/mm/transparent_hugepage/enabled

 [always] madvise never

若是开发银行了大页面转化,运维TokuDB引擎会受到错误日志里面有如下音讯:

Transparent huge pages are enabled, according to /sys/kernel/mm/redhat_transparent_hugepage/enabled

Transparent huge pages are enabled, according to /sys/kernel/mm/transparent_hugepage/enabled

你也可以关闭大页面转化功能,把transparent_hugepage=never传递到内核bottloader工具。不过要重启。也得以运用以下命令关闭:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

安装

当今TukoDB能够应用Percona的源安装:

如果为yum:

[root@centos ~]# yum install Percona-Server-tokudb-57.x86_64

如果为apt:

root@wheezy:~# apt-get install percona-server-tokudb-5.7

 

开发银行TokuDB存款和储蓄引擎

如若设置好TokuDB就能够有如下输出:

* This release of Percona Server is distributed with TokuDB storage engine.

   * Run the following script to enable the TokuDB storage engine in Percona Server:

 

    ps_tokudb_admin --enable -u <mysql_admin_user> -p[mysql_admin_pass] [-S <socket>] [-h <host> -P <port>]

 

   * See http://www.percona.com/doc/percona-server/5.7/tokudb/tokudb_installation.html for more installation details

 

   * See http://www.percona.com/doc/percona-server/5.7/tokudb/tokudb_intro.html for an introduction to TokuDB

Percona Server实现了ps_tokudb_admin脚本运营TokuDB存款和储蓄引擎。脚本会自动关闭大页面转化。必要sudo 运行一下语句:

ps_tokudb_admin --enable -uroot -pPassw0rd

运营后会输出:

Checking if Percona server is running with jemalloc enabled...

>> Percona server is running with jemalloc enabled.

 

Checking transparent huge pages status on the system...

>> Transparent huge pages are currently disabled on the system.

 

Checking if thp-setting=never option is already set in config file...

>> Option thp-setting=never is not set in the config file.

>> (needed only if THP is not disabled permanently on the system)

 

Checking TokuDB plugin status...

>> TokuDB plugin is not installed.

 

Adding thp-setting=never option into /etc/mysql/my.cnf

>> Successfuly added thp-setting=never option into /etc/mysql/my.cnf

 

Installing TokuDB engine...

>> Successfuly installed TokuDB plugin.

借使脚本未有重临错误,那么TokuDB被成功安装,能够利用show engins检查:

mysql> SHOW ENGINES;

...

 | TokuDB | YES | Tokutek TokuDB Storage Engine with Fractal Tree(tm) Technology | YES | YES | YES |

...

 

手动运营TokuDB存款和储蓄引擎

假若你不想用ps_tokudb_admin脚本,就须求手动安装存款和储蓄引擎,加载plugins:

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';

然后拿走当前囤积引擎列表:

mysql> SHOW ENGINES;

...

| TokuDB | YES | Tokutek TokuDB Storage Engine with Fractal Tree(tm) Technology | YES | YES | YES |

...

下一场show plugins检查是还是不是安装准确:

mysql> SHOW PLUGINS;

...

| 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版本

查看TokuDB版本:

mysql> SELECT @@tokudb_version;

 ------------------ 

| @@tokudb_version |

 ------------------ 

| 5.7.10-1rc1      |

 ------------------ 

1 row in set (0.00 sec)

1.  TokuDB说明

具体看:



3.  使用TokuDB

2.  TokuDB安装

Percona Server包容独立可用的TokuDB存款和储蓄引擎包。TokuDB引擎必须分开下载然后以插件的情势启用。这一个包能够单独设置,没有需求任何特定的版本的Percona Server。

TokuDB存款和储蓄引擎是可扩充,ACID,MVCC的积存引擎,提供依据索引查询,提供online的框架修改和削减slave延迟。那些蕴藏引擎设计师为了写入质量,是凭借fractal tree的。

警告:

*       这段时间percona提供的TokuDB被采纳在Percona Server 5.7。TokuDB引擎从其余省方下载的不能被包容。TokuDB文件格式和MySQL变种不是一模一样的。从多少个变种到别的贰个可能须求做多少导入导出。*

 

嵌入要求

Libjemalloc库

ToKuDB要求libjemalloc 3.三.0依旧越来越高版本。能够从percona可能别的地点下载。若是libjemalloc,在此之前从未设置,TokuDB存款和储蓄引擎在动用apt,yum安装的时候自动安装,可是并不会被加载到mysql,能够应用如下配置导入。

[mysqld_safe]

malloc-lib= /path/to/jemalloc

大页面转化

TokuDB假诺在大页面转化运营的时候不会被运行。大页面转化是新基础版本的功力。能够由此以下语句检查时候运转。

$ cat /sys/kernel/mm/transparent_hugepage/enabled

 [always] madvise never

假设开发银行了大页面转化,运维TokuDB引擎会受到错误日志里面有如下音讯:

Transparent huge pages are enabled, according to /sys/kernel/mm/redhat_transparent_hugepage/enabled

Transparent huge pages are enabled, according to /sys/kernel/mm/transparent_hugepage/enabled

您也能够关闭大页面转化效率,把transparent_hugepage=never传递到内核bottloader工具。可是要重启。也得以运用以下命令关闭:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

安装

当今TukoDB能够应用Percona的源安装:

如果为yum:

[[email protected] ~]# yum install Percona-Server-tokudb-57.x86_64

如果为apt:

[email protected]:~# apt-get install percona-server-tokudb-5.7

 

开发银行TokuDB存款和储蓄引擎

如果设置好TokuDB就能够有如下输出:

* This release of Percona Server is distributed with TokuDB storage engine.

   * Run the following script to enable the TokuDB storage engine in Percona Server:

 

    ps_tokudb_admin --enable -u <mysql_admin_user> -p[mysql_admin_pass] [-S <socket>] [-h <host> -P <port>]

 

   * See http://www.percona.com/doc/percona-server/5.7/tokudb/tokudb_installation.html for more installation details

 

   * See http://www.percona.com/doc/percona-server/5.7/tokudb/tokudb_intro.html for an introduction to TokuDB

Percona Server实现了ps_tokudb_admin脚本运行TokuDB存款和储蓄引擎。脚本会自动关闭大页面转化。需求sudo 运维一下语句:

ps_tokudb_admin --enable -uroot -pPassw0rd

运作后会输出:

Checking if Percona server is running with jemalloc enabled...

>> Percona server is running with jemalloc enabled.

 

Checking transparent huge pages status on the system...

>> Transparent huge pages are currently disabled on the system.

 

Checking if thp-setting=never option is already set in config file...

>> Option thp-setting=never is not set in the config file.

>> (needed only if THP is not disabled permanently on the system)

 

Checking TokuDB plugin status...

>> TokuDB plugin is not installed.

 

Adding thp-setting=never option into /etc/mysql/my.cnf

>> Successfuly added thp-setting=never option into /etc/mysql/my.cnf

 

Installing TokuDB engine...

>> Successfuly installed TokuDB plugin.

一旦脚本未有回去错误,那么TokuDB被成功安装,能够使用show engins检查:

mysql> SHOW ENGINES;

...

 | TokuDB | YES | Tokutek TokuDB Storage Engine with Fractal Tree(tm) Technology | YES | YES | YES |

...

 

手动运转TokuDB存款和储蓄引擎

倘令你不想用ps_tokudb_admin脚本,就需求手动安装存款和储蓄引擎,加载plugins:

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';

接下来拿走当前囤积引擎列表:

mysql> SHOW ENGINES;

...

| TokuDB | YES | Tokutek TokuDB Storage Engine with Fractal Tree(tm) Technology | YES | YES | YES |

...

下一场show plugins检查是不是安装正确:

mysql> SHOW PLUGINS;

...

| 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版本

查看TokuDB版本:

mysql> SELECT @@tokudb_version;

 ------------------ 

| @@tokudb_version |

 ------------------ 

| 5.7.10-1rc1      |

 ------------------ 

1 row in set (0.00 sec)


三.一 快捷插入和富索引

TokuDB使用富索引,让越来越快的目录,能够让查询更加快。比方覆盖恐怕集中索引。

 

3.  使用TokuDB

 

 

3.2 聚集secondary索引

TokuDB允许多少个secondary索引定义为集中索引。以为那全体的表上的列都在那一个secondary索引上。Percona Server分析并且询问优化的时候协助多集中键,当TokuDB被运用的时候。也正是说在一定条件下,查询优化器会幸免主键聚焦索引读取,而是利用secondary 集中索引读取。

今日分析式援救一下语法:

CREATE TABLE ... ( ..., CLUSTERING KEY identifier (column list), ...

CREATE TABLE ... ( ..., UNIQUE CLUSTERING KEY identifier (column list), ...

CREATE TABLE ... ( ..., CLUSTERING UNIQUE KEY identifier (column list), ...

CREATE TABLE ... ( ..., CONSTRAINT identifier UNIQUE CLUSTERING KEY identifier (column list), ...

CREATE TABLE ... ( ..., CONSTRAINT identifier CLUSTERING UNIQUE KEY identifier (column list), ...

 

CREATE TABLE ... (... column type CLUSTERING [UNIQUE] [KEY], ...)

CREATE TABLE ... (... column type [UNIQUE] CLUSTERING [KEY], ...)

 

ALTER TABLE ..., ADD CLUSTERING INDEX identifier (column list), ...

ALTER TABLE ..., ADD UNIQUE CLUSTERING INDEX identifier (column list), ...

ALTER TABLE ..., ADD CLUSTERING UNIQUE INDEX identifier (column list), ...

ALTER TABLE ..., ADD CONSTRAINT identifier UNIQUE CLUSTERING INDEX identifier (column list), ...

ALTER TABLE ..., ADD CONSTRAINT identifier CLUSTERING UNIQUE INDEX identifier (column list), ...

 

CREATE CLUSTERING INDEX identifier ON ...

定义secondary聚焦索引:

CREATE TABLE table (

  column_a INT,

  column_b INT,

  column_c INT,

  PRIMARY KEY index_a (column_a),

  CLUSTERING KEY index_b (column_b)) ENGINE = TokuDB;

TokuDB能够行使聚集索引是因为它能够的减弱和异常高的索引率。

 

三.一 急速插入和富索引

TokuDB使用富索引,让越来越快的目录,能够让查询越来越快。比方覆盖恐怕集中索引。

 

    假使转载,请表明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 全部。望各位帮助!

    若是转发,请申明博文来源: www.cnblogs.com/xinysu/   ,版权归 天涯论坛 苏家小萝卜 全体。望各位支持!

三.叁 在眉目引成立

TokuDB能够让您在线的增多索引到已经存在的表中。不是利用online 关键字,依然采纳tokudb_create_index_online的对话系统变量:

mysql> SET tokudb_create_index_online=on;

Query OK, 0 rows affected (0.00 sec)

 

mysql> CREATE INDEX index ON table (field_name);

也足以运用,alter table命令离线格局的成立索引,不管有未有张开tokudb_create_index_online都以离线的。唯有create index格局得以在线的创立。

Online创造索引比offline 的满,和服务繁忙程度有关。创造索引的精度能够透过命令show processlist查看。一旦索引创设完毕,新的目录在下个查询安插中就可以被应用。

若果在同一个表上有多余1个的创始索引,索引会线性的被创立。索引创设会等待其它二个成功,在show processlist中会展现被锁定。推荐在创制索引完结之后再来实施下一个。

 

3.2 聚集secondary索引

TokuDB允许二个secondary索引定义为集中索引。以为那全部的表上的列都在那一个secondary索引上。Percona Server深入分析并且询问优化的时候帮衬多聚焦键,当TokuDB被应用的时候。也便是说在特定情况下,查询优化器会制止主键集中索引读取,而是使用secondary 聚集索引读取。

今昔分析式帮助一下语法:

CREATE TABLE ... ( ..., CLUSTERING KEY identifier (column list), ...

CREATE TABLE ... ( ..., UNIQUE CLUSTERING KEY identifier (column list), ...

CREATE TABLE ... ( ..., CLUSTERING UNIQUE KEY identifier (column list), ...

CREATE TABLE ... ( ..., CONSTRAINT identifier UNIQUE CLUSTERING KEY identifier (column list), ...

CREATE TABLE ... ( ..., CONSTRAINT identifier CLUSTERING UNIQUE KEY identifier (column list), ...

 

CREATE TABLE ... (... column type CLUSTERING [UNIQUE] [KEY], ...)

CREATE TABLE ... (... column type [UNIQUE] CLUSTERING [KEY], ...)

 

ALTER TABLE ..., ADD CLUSTERING INDEX identifier (column list), ...

ALTER TABLE ..., ADD UNIQUE CLUSTERING INDEX identifier (column list), ...

ALTER TABLE ..., ADD CLUSTERING UNIQUE INDEX identifier (column list), ...

ALTER TABLE ..., ADD CONSTRAINT identifier UNIQUE CLUSTERING INDEX identifier (column list), ...

ALTER TABLE ..., ADD CONSTRAINT identifier CLUSTERING UNIQUE INDEX identifier (column list), ...

 

CREATE CLUSTERING INDEX identifier ON ...

定义secondary聚焦索引:

CREATE TABLE table (

  column_a INT,

  column_b INT,

  column_c INT,

  PRIMARY KEY index_a (column_a),

  CLUSTERING KEY index_b (column_b)) ENGINE = TokuDB;

TokuDB能够利用集中索引是因为它能够的回落和极高的索引率。

 

 

 

3.四 在线增多,删除,扩充,重命名列

TokuDB能够令你加多和删除已经存在表的列,扩大char,varchar,varbinary,integer类型,大概重命名已经存在的列。HCADE路虎极光会短暂的锁定表,修改数据字段。然后当数码从磁盘读入的时候都会被涂改。对于列重命名,全部的工作在几分钟内到位,在磁盘上的数码不会被涂改。

获取HCADE宝马X3的好性能,的几点:

Ÿ   增加,删除大概扩张操作的持续会被感到是fractal tree的壹部分。
能够行使optimize table x来三回性管理,optimize table并不会重建索引,然而会诱发HCADE福特Explorer的周转。

Ÿ   各样HCADE帕Jero必须独立的运维。要是想要增加和删除改多少个列,那么就写多少个语句。

Ÿ   防止HCADE奥迪Q5和在线索引操作一同管理。

Ÿ   表锁的轩然大波有所区别,HCADE奥德赛的锁定事件是脏数据刷新的风浪,因为mysql会在alter table之后关闭。若是方今产生过检查点,那么操作就能十分的快。若是有太多的脏数据,那么刷新事件大概会非常长。

Ÿ   制止删除的列是索引的1有的。假如列是索引的1局地,那么删除会异常的慢。

Ÿ   在线扩展只支持char,varchar,varbinary和integer。假如字段是主键或许别的secondary索引的一有些也不帮助。

Ÿ   重命名只可以是一句3个列。

小心有所的列属性必须制定,alter table change只怕会一点也不快:

Ÿ   在线列重命名不援救以下字段,time,enum,blob,tinyblob,mediumblob,longblob。那一个列的重命名会走正规的流程。

Ÿ   一时表无法动用HCADE纳瓦拉。

 

三.3 在眉目引创制

TokuDB能够令你在线的增添索引到已经存在的表中。不是应用online 关键字,依旧利用tokudb_create_index_online的对话系统变量:

mysql> SET tokudb_create_index_online=on;

Query OK, 0 rows affected (0.00 sec)

 

mysql> CREATE INDEX index ON table (field_name);

也足以应用,alter table命令离线情势的创设索引,不管有未有张开tokudb_create_index_online都是离线的。只有create index格局能够在线的创造。

Online成立索引比offline 的满,和劳动繁忙程度有关。创制索引的精度能够通过命令show processlist查看。一旦索引成立完结,新的目录在下个查询布署中就能够被选择。

壹旦在同八个表上有多余2个的始建索引,索引会线性的被创造。索引创造会等待其它三个实现,在show processlist中会展现被锁定。推荐在创制索引完成现在再来实践下3个。

 



三.5    压缩细节

TokuDB提供分歧等第的滑坡,是cpu和压缩率之间的局部平衡。标准的滑坡使用少些的cpu不过压缩品级也正如低,高档别的减弱相比消耗cpu。

TokuDB压缩产生在后台线程,表示高压缩率并不会延迟数据库。事实上,在好几有个别情况下,压缩率越高质量越好。

注意:

       一般在六核一下的引入规范的回落,陆核以上的推荐高压缩

压缩率的挑选依旧在于数据库的时候,推荐使用默许配置。

削减在create table,alter table的基于每张表设置行格式:

CREATE TABLE table (

  column_a INT NOT NULL PRIMARY KEY,

  column_b INT NOT NULL) ENGINE=TokuDB

  ROW_FORMAT=row_format;

 

纵然在create table 的时候从不设置行格式,那么是怎么削减看tokudb_row_format的安装。假若未有安装tokudb_row_format,那么压缩就利用zlib。

Row_format和tokudb_row_format取值如下:

·         TOKUDB_澳门新萄京官方网站,DEFUALT:以私下认可格局裁减。在TokuDB 七.一,暗许的选取zlib进行削减,之后可能会改。

·         TOKUDB_FAST:那一个装置使用quicklz压缩。

·         TOKUDB_SMALL:使用lzma进行削减。

其余也可以一分区直属机关接公投择压缩库,可用的压缩库:

·         TOKUDB_ZLIB:利用zlib举办压缩,提供中等的缩减和cpu使用率

·         TOKUDB_QUICKLZ:选择quicklz举办削减,提供轻量级的减弱和低cpu使用率。

·         TOKUDB_LZMA:运用lzma举办削减,提供最高的回落和cpu使用率。

·         TOKUDB_SNAPPY:应用snappy进行压缩,合理的高效的回落。

·         TOKUDB_UNCOMPRESSED:以此设置关闭了滑坡,并且表不会被减少。

三.四 在线增添,删除,扩大,重命名列

TokuDB能够让您增多和删除已经存在表的列,扩张char,varchar,varbinary,integer类型,或然重命名已经存在的列。HCADESportage会短暂的锁定表,修改数据字段。然后当数码从磁盘读入的时候都会被涂改。对于列重命名,全部的做事在几分钟内产生,在磁盘上的数码不会被修改。

获取HCADE奥迪Q五的好质量,的几点:

Ÿ   增多,删除只怕扩张操作的三番五次会被认为是fractal tree的1局地。
能够使用optimize table x来贰遍性管理,optimize table并不会重建索引,然则会诱发HCADERubicon的运作。

Ÿ   每一种HCADE中华V必须独立的周转。如若想要增加和删除改多少个列,那么就写三个语句。

Ÿ   制止HCADE冠道和在线索引操作一同管理。

Ÿ   表锁的风云有所差异,HCADELX570的锁定事件是脏数据刷新的事件,因为mysql会在alter table之后关闭。若是近来发生过检查点,那么操作就能够极快。借使有太多的脏数据,那么刷新事件大概会十分短。

Ÿ   制止删除的列是索引的一有些。要是列是索引的壹有的,那么删除会非常的慢。

Ÿ   在线扩张只帮忙char,varchar,varbinary和integer。假如字段是主键大概别的secondary索引的一片段也不帮衬。

Ÿ   重命名只可以是一句八个列。

在意有所的列属性必须制定,alter table change大概会不快:

Ÿ   在线列重命名不帮忙以下字段,time,enum,blob,tinyblob,mediumblob,longblob。这一个列的重命名会走正规的流程。

Ÿ   临时表不能够利用HCADEQashqai。

 



三.6 修改表的滑坡

修改表的缩减语法如下:

ALTER TABLE table

  ROW_FORMAT=row_format;

注意:

       修改表偶的缩减至会影响性写入的数码。修改表压缩之后方可经过OPTIMZE TABLE把富有的block全体写三回。

三.伍    压缩细节

TokuDB提供区别级其余压缩,是cpu和压缩率之间的壹部分平衡。规范的滑坡使用少许的cpu可是压缩等第也非常低,高等别的缩减相比较消耗cpu。

TokuDB压缩产生在后台线程,表示高压缩率并不会延迟数据库。事实上,在好几有个别景况下,压缩率越高质量越好。

注意:

       一般在陆核一下的引入标准的收缩,陆核以上的推荐介绍高压缩

压缩率的挑三拣四还是在于数据库的时候,推荐应用暗中认可配置。

调整和减弱在create table,alter table的依据每张表设置行格式:

CREATE TABLE table (

  column_a INT NOT NULL PRIMARY KEY,

  column_b INT NOT NULL) ENGINE=TokuDB

  ROW_FORMAT=row_format;

 

若果在create table 的时候未有安装行格式,那么是怎么压缩看tokudb_row_format的设置。借使未有安装tokudb_row_format,那么压缩就动用zlib。

Row_format和tokudb_row_format取值如下:

·         TOKUDB_DEFUALT:以默许格局减弱。在TokuDB 7.一,默许的行使zlib实行削减,之后大概会改。

·         TOKUDB_FAST:那么些装置使用quicklz压缩。

·         TOKUDB_SMALL:使用lzma举办压缩。

其余也足以直接选用压缩库,可用的压缩库:

·         TOKUDB_ZLIB:使用zlib进行削减,提供中等的压缩和cpu使用率

·         TOKUDB_QUICKLZ:动用quicklz进行压缩,提供轻量级的缩减和低cpu使用率。

·         TOKUDB_LZMA:选用lzma举行削减,提供最高的减弱和cpu使用率。

·         TOKUDB_SNAPPY:使用snappy举办削减,合理的飞跃的压缩。

·         TOKUDB_UNCOMPRESSED:以此装置关闭了滑坡,并且表不会被压缩。

 一 tokudb引擎介绍

  1. 特色:高压缩,可支撑四个集中索引,协助ACID、MVCC,使用 Fractal Tree 索引
  2. 优点:
    • fractal tree 能够再精晓下,对轻巧IO有那多少个大的精雕细刻功能
      • fractal tree 能够非常的慢插入及删除,在随机IO方面包车型客车品质比 B-tree的品质更优
    • 高压缩,官方网站给出最大25倍
      • 对数码及索引进行削减,依据数据的可压缩性,官方网址给出的最大减价扣比是 2伍 倍
    • 在眉目引创制,创立期间,insert delete的DML帮忙,update呢 ?
    • 在线列扩充删除重命名,修改时期,insert delete的DML匡助,update呢 ?
    • 在线备份
    • 四个聚焦索引
    • 无io读复制
      • TokuDB slave能够配备,让来自master修改可以最小化。通过记录fractal tree索引:
      • Insert/update/delete操作能够调整撤废read-modify-write的一坐一起,然后注入新闻到合适的fractal tree。
      • Update/delete操作能够配备撤销必要io的1致性检查。
      • 为了利用应用无io读复制,服务须要布署:
      • 在replication master:
      • 设置为binlog行模式:BINLOG_FORMAT=ROW
      • 在replication slave:
      • Slave必须为只读:read_only=1
      • 撤除1致性检查:tokudb_rpl_unique_checks=0
      • 闭馆查找(read-modify-write) :tokudb_rpl_lookup_rows=0
      • 能够在二个要么几个slave上陈设。只要master使用了依附行的复制,优化在tokudb slave就可用。也等于说假诺master使用innodb只怕myisam表也是可用的。
    • 无损化,少碎片
      • 四Mb为单位举办仓库储存
    • 高速还原
      • 平复时间长度少于壹min

 一 tokudb引擎介绍

  1. 特色:高压缩,可支撑八个聚焦索引,协助ACID、MVCC,使用 Fractal Tree 索引
  2. 优点:
    • fractal tree 能够再理解下,对轻便IO有非常大的精耕细作成效
      • fractal tree 能够急速插入及删除,在自由IO方面包车型地铁性质比 B-tree的习性更优
    • 高压缩,官方网站给出最大25倍
      • 对数据及索引实行削减,依据数量的可压缩性,官方网址给出的最大压缩比是 二5 倍
    • 在线索引成立,创造时期,insert delete的DML支持,update呢 ?
    • 在线列增添删除重命名,修改时期,insert delete的DML协理,update呢 ?
    • 在线备份
    • 七个集中索引
    • 无io读复制
      • TokuDB slave能够配备,让来自master修改能够最小化。通过记录fractal tree索引:
      • Insert/update/delete操作能够决定裁撤read-modify-write的一坐一起,然后注入音信到非常的fractal tree。
      • Update/delete操作能够安插撤销供给io的一致性检查。
      • 为了利用应用无io读复制,服务需求布署:
      • 在replication master:
      • 设置为binlog行模式:BINLOG_FORMAT=ROW
      • 在replication slave:
      • Slave必须为只读:read_only=1
      • 裁撤壹致性检查:tokudb_rpl_unique_checks=0
      • 闭馆查找(read-modify-write) :tokudb_rpl_lookup_rows=0
      • 能够在2个仍然多个slave上配备。只要master使用了基于行的复制,优化在tokudb slave就可用。也正是说倘使master使用innodb恐怕myisam表也是可用的。
    • 无损化,少碎片
      • 4Mb为单位实行仓库储存
    • 迅猛恢复生机
      • 还原时间长度少于一min

3.7 无io读复制

TokuDB slave能够配备,让来自master修改能够最小化。通过记录fractal tree索引:

·         Insert/update/delete操作能够调节撤消read-modify-write的作为,然后注入新闻到适当的fractal tree。

·         Update/delete操作能够安顿打消要求io的1致性检查。

为了利用使用无io读复制,服务须要布置:

·         在replication master:

o    设置为binlog行模式:BINLOG_FORMAT=ROW

·         在replication slave:

o    Slave必须为只读:read_only=1

o    撤废壹致性检查:tokudb_rpl_unique_checks=0

o    关闭查找(read-modify-write) :tokudb_rpl_lookup_rows=0

能够在3个依然多少个slave上配备。只要master使用了依据行的复制,优化在tokudb slave就可用。也正是说借使master使用innodb或然myisam表也是可用的。

三.陆 修改表的回落

修改表的压缩语法如下:

ALTER TABLE table

  ROW_FORMAT=row_format;

注意:

       修改表偶的减弱至会影响性写入的多少。修改表压缩之后能够通过OPTIMZE TABLE把装有的block全体写一次。

2 Tokudb安装

2 Tokudb安装

三.8 事务和ACID包容苏醒

默许,Tokudb检查有着检查点之间的开辟的表和日志的改换,所以在系统崩溃的,Tokudb会恢复生机全部的表大ACID包容状态。全部的交给业务都会被影响在表上,并且未有提交的职业都会被回滚。

暗中同意检查点60秒实施一遍,假如检查点须要更多的实行,那么下三个反省点会立时实施。那么些和日志文件截断的功效有关。用户能够动用flush logs命令实践检查点。当数据库关闭会实行行检查查点并且撤销全体的慨叹事务。日志在重启的时候被截断。

3.7 无io读复制

TokuDB slave能够配备,让来自master修改能够最小化。通过记录fractal tree索引:

·         Insert/update/delete操作能够决定打消read-modify-write的行为,然后注入新闻到合适的fractal tree。

·         Update/delete操作能够安排裁撤供给io的壹致性检查。

为了利用使用无io读复制,服务必要配备:

·         在replication master:

o    设置为binlog行模式:BINLOG_FORMAT=ROW

·         在replication slave:

o    Slave必须为只读:read_only=1

o    撤除一致性检查:tokudb_rpl_unique_checks=0

o    关闭查找(read-modify-write) :tokudb_rpl_lookup_rows=0

能够在三个或然八个slave上配备。只要master使用了基于行的复制,优化在tokudb slave就可用。也便是说如若master使用innodb只怕myisam表也是可用的。

2.1 percona mysql安装

1 下载最新percona mysql二进制包

2 解压

tar zvxf Percona-Server-5.7.17-13-Linux.x86_64.ssl101.tar.gz

3 软连接

ln -s /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101 /usr/local/pmysql

4 建立用户及用户组

groupadd mysql

useradd -g mysql -s /sbin/nologin -d /usr/local/mysql/ -M mysql

5 建立文件夹

mkdir -p /data/mysql/pmysql3330/{data,tmp,logs}

6 数据库配置文件

pmysql3330.cnf

7 授权
[root@sutest242 percona]# chown -R mysql:mysql /usr/local/pmysql/
[root@sutest242 percona]# chown -R mysql:mysql /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101
[root@sutest242 percona]# chown -R mysql:mysql /data/mysql/pmysql3330/

8 看是否需要配置环境变量

vim /etc/profile

PATH=$PATH:/usr/local/pmysql/bin

source profile

9 初始化实例

/usr/local/pmysql/bin/mysqld --defaults-file=/data/mysql/pmysql3330.cnf --initialize

10 检查是否安装有问题

vim /data/mysql/pmysql3330/data/error.log

11 启动数据库实例

/usr/local/pmysql/bin/mysqld --defaults-file=/data/mysql/pmysql3330.cnf &

12 修改密码

cat /data/mysql/pmysql3330/data/error.log | grep password

/usr/local/pmysql/bin/mysql --socket=/tmp/pmysql3330.sock -uroot -p

alter user root@localhost idnetified by '******';

flush privileges;

2.1 percona mysql安装

1 下载最新percona mysql二进制包

2 解压

tar zvxf Percona-Server-5.7.17-13-Linux.x86_64.ssl101.tar.gz

3 软连接

ln -s /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101 /usr/local/pmysql

4 建立用户及用户组

groupadd mysql

useradd -g mysql -s /sbin/nologin -d /usr/local/mysql/ -M mysql

5 建立文件夹

mkdir -p /data/mysql/pmysql3330/{data,tmp,logs}

6 数据库配置文件

pmysql3330.cnf

7 授权
[root@sutest242 percona]# chown -R mysql:mysql /usr/local/pmysql/
[root@sutest242 percona]# chown -R mysql:mysql /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101
[root@sutest242 percona]# chown -R mysql:mysql /data/mysql/pmysql3330/

8 看是否需要配置环境变量

vim /etc/profile

PATH=$PATH:/usr/local/pmysql/bin

source profile

9 初始化实例

/usr/local/pmysql/bin/mysqld --defaults-file=/data/mysql/pmysql3330.cnf --initialize

10 检查是否安装有问题

vim /data/mysql/pmysql3330/data/error.log

11 启动数据库实例

/usr/local/pmysql/bin/mysqld --defaults-file=/data/mysql/pmysql3330.cnf &

12 修改密码

cat /data/mysql/pmysql3330/data/error.log | grep password

/usr/local/pmysql/bin/mysql --socket=/tmp/pmysql3330.sock -uroot -p

alter user root@localhost idnetified by '******';

flush privileges;

3.9 管理Log大小

TokuDB保险日志文件能够会到终极一次检查点。当日志文件达到100MB,就可以运营一个新的文书。不管是否有检查点,全部的日记文件比checkpoint老的都会被丢掉。假设检查点时间被设置了相当的大的值,log的截断频率会缩减。私下认可那么些值为60s。

TokuDB为每种展开的事情保存了回滚日志,每一个log的文件大小和职业的职务和被减去保存到磁盘的轻重有关。回滚日志在相关事务实现后会被截断。

 

3.捌 事务和ACID包容苏醒

默许,Tokudb检查有着检查点之间的开拓的表和日志的修改,所以在系统崩溃的,Tokudb会苏醒全体的表大ACID兼容状态。全体的交由业务都会被反馈在表上,并且未有交到的政工都会被回滚。

暗许检查点60秒实行二回,如若检查点须要更多的推行,那么下2个反省点会霎时推行。这一个和日志文件截断的功用有关。用户能够动用flush logs命令实践检查点。当数据库关闭会施行行检查查点并且撤除全部的慨叹事务。日志在重启的时候被截断。

2.二 安装 jemalloc,管理内部存款和储蓄器

 找个新型版本安装就足以了

 

wget 

tar xjf jemalloc-4.2.1.tar.bz2

cd jemalloc-4.2.1

./configure

make && make install

echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf

 

解压进度中假若报错如下,请安装 bzip二 包 :yum install -y bzip二

 

[root@sutest242 percona]# tar -xjf jemalloc-4.2.1.tar.bz2

tar (child): bzip2: Cannot exec: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error is not recoverable: exiting now

 

 

安装成功后,在数据库配置文件中的mysqld_safe模块,增添引用libjemalloc.so,记得必要先找下那一个文件的莫过于地点,然后cp或许ls一份到/usr/lib64目录下。

在数据库配置文件中丰硕引用

 

[mysqld_safe]

malloc-lib=/usr/lib64/libjemalloc.so.1

 

 

留意,数据库关闭后,须求用mysqld_safe运营服务,使用 jemalloc 管理内部存款和储蓄器。

 

[root@sutest242 jemalloc-5.0.0]# /usr/local/pmysql/bin/mysqladmin --socket=/tmp/pmysql3330.sock -uroot -p shutdown

Enter password:

[root@sutest242 jemalloc-5.0.0]# ps axu | grep pmysql

root     12418  0.0  0.0 112648   964 pts/1    S    10:29   0:00 grep --color=auto pmysql

[root@sutest242 jemalloc-5.0.0]# cd /usr/local/pmysql/

[root@sutest242 pmysql]# ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf &

[1] 13745

[root@sutest242 pmysql]#  mysqld_safe Adding '/usr/lib/libjemalloc.so.1' to LD_PRELOAD for mysqld

2017-06-24T02:31:06.679622Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-24T02:31:06.685066Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-24T02:31:06.788240Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/pmysql3330/data

 

2.贰 安装 jemalloc,管理内部存款和储蓄器

 找个流行版本安装就足以了

 

wget 

tar xjf jemalloc-4.2.1.tar.bz2

cd jemalloc-4.2.1

./configure

make && make install

echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf

 

解压进程中借使报错如下,请安装 bzip二 包 :yum install -y bzip二

 

[root@sutest242 percona]# tar -xjf jemalloc-4.2.1.tar.bz2

tar (child): bzip2: Cannot exec: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error is not recoverable: exiting now

 

 

安装成功后,在数据库配置文件中的mysqld_safe模块,增多引用libjemalloc.so,记得需求先找下那几个文件的莫过于地方,然后cp可能ls1份到/usr/lib6四目录下。

在数据库配置文件中加上引用

 

[mysqld_safe]

malloc-lib=/usr/lib64/libjemalloc.so.1

 

 

瞩目,数据库关闭后,要求用mysqld_safe运转服务,使用 jemalloc 管理内部存款和储蓄器。

 

[澳门新萄京官方网站:MySQL_第一方数据库引擎_tokudb。root@sutest242 jemalloc-5.0.0]# /usr/local/pmysql/bin/mysqladmin --socket=/tmp/pmysql3330.sock -uroot -p shutdown

Enter password:

[root@sutest242 jemalloc-5.0.0]# ps axu | grep pmysql

root     12418  0.0  0.0 112648   964 pts/1    S    10:29   0:00 grep --color=auto pmysql

[root@sutest242 jemalloc-5.0.0]# cd /usr/local/pmysql/

[root@sutest242 pmysql]# ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf &

[1] 13745

[root@sutest242 pmysql]#  mysqld_safe Adding '/usr/lib/libjemalloc.so.1' to LD_PRELOAD for mysqld

2017-06-24T02:31:06.679622Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-24T02:31:06.685066Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-24T02:31:06.788240Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/pmysql3330/data

 

3.10 恢复

平复是活动的,TokuDB使用日志文件,和回滚日志来还原。恢复生机的日子和和日志文件的深浅和未压缩回滚日志大小有关。因而假如未有长日子运作的工作,那么复苏进程是急速的。

 

3.9 管理Log大小

TokuDB保障日志文件能够会到终极三遍检查点。当日志文件到达十0MB,就能够运转一个新的文本。不管是还是不是有检查点,全数的日志文件比checkpoint老的都会被放弃。借使检查点时间被设置了非常大的值,log的截断频率会削减。暗许这几个值为60s。

TokuDB为各种展开的政工保存了回滚日志,每种log的文件大小和事情的职分和被减少保存到磁盘的深浅有关。回滚日志在连锁业务完成后会被截断。

 

2.3 修改transparent_hugepage

tokudb引擎要求运转透明大页,更好的提供内部存款和储蓄器管理。

[root@sutest244 percona5718]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

 

亟需修改为never,若是不修改,使用tokudb引擎的时候,会在error.log中报错

 

Transparent huge pages are enabled, according to /sys/kernel/mm/redhat_transparent_hugepage/enabled

Transparent huge pages are enabled, according to /sys/kernel/mm/transparent_hugepage/enabled

 

安排如下:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

2.3 修改transparent_hugepage

tokudb引擎需求运维透明大页,更加好的提供内部存款和储蓄器管理。

[root@sutest244 percona5718]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

 

急需修改为never,如若不改换,使用tokudb引擎的时候,会在error.log中报错

 

Transparent huge pages are enabled, according to /sys/kernel/mm/redhat_transparent_hugepage/enabled

Transparent huge pages are enabled, according to /sys/kernel/mm/transparent_hugepage/enabled

 

安顿如下:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

三.1壹 关闭写缓存

不过用别的专门的学业安全的数据库,都假设在您掌握硬件的写缓存的基础上。TokuDB提供业务安全的贮存引擎。假使写入磁盘的编写,操作系统可能硬件没有当真的写入到磁盘,那么crash之后会毁掉。

本条时候必要关闭写缓存,在ATA/SATA上行使以下命令:

$ hdparm -W0 /dev/hda

在一些境况下得以应用写缓存:

·         写缓存可以在xfs上,并且保险电池职业符合规律化的事态下行使。尽管在/var/log /messages上边世以下新闻就不可能使用写缓存:

o    Disabling barriers, not supported with external log device

o    Disabling barriers, not supported by the underlying device

o    Disabling barriers, trial barrier write failed

以下情况就亟须关闭写缓存:

·         假诺您选择了ext三文件系统

·         即使选用了LVM

·         假使您利用了软的RAID

·         假设使用了RAID有battery-backed-up memory

 

3.10 恢复

复原是电动的,TokuDB使用日志文件,和回滚日志来恢复。苏醒的岁月和和日志文件的轻重缓急和未压缩回滚日志大小有关。因而假设未有长日子运作的作业,那么苏醒进程是便捷的。

 

**2.4 安装tokudb引擎跟percona client **

官方网站下载后装置。

rpm -ivhPercona-Server-shared-57-5.7.17-13.1.el6.x86_64.rpm

rpm -ivhPercona-Server-client-57-5.7.17-13.1.el7.x86_64.rpm

rpm -ivhPercona-Server-server-57-5.7.17-13.1.el6.x86_64.rpm

rpm -ivh --force --nodeps Percona-Server-tokudb-57-5.7.17-13.1.el7.x86_64.rpm

**2.4 安装tokudb引擎跟percona client **

官方网址下载后安装。

rpm -ivhPercona-Server-shared-57-5.7.17-13.1.el6.x86_64.rpm

rpm -ivhPercona-Server-client-57-5.7.17-13.1.el7.x86_64.rpm

rpm -ivhPercona-Server-server-57-5.7.17-13.1.el6.x86_64.rpm

rpm -ivh --force --nodeps Percona-Server-tokudb-57-5.7.17-13.1.el7.x86_64.rpm

3.1贰 进度跟踪

TokuDB有3个体系来追踪长运营语句:

·         Bluk Load:当使用load data infile导入大批量数码,使用show processlist命令能够查阅到速度分为二部分,已不是唤醒为:Inserted about 一千000 rows。其它一些是比例,提醒为Loading of data about 四5% done。

·         增添索引,当使用alter table或然create index命令创立索引,show processlist呈现速度,会唤起已经管理的行数。通过那一个纤细来证明进程。和bulk load类似,第1等第显示行管理速度,第叁等级展现百分比。

·         提交和注销,当提交或许撤废一个专门的学问,使用show processlist,会评估业务操作管理。

 

三.1壹 关闭写缓存

可是用其它专门的学问安全的数据库,都如若在你理解硬件的写缓存的底蕴上。TokuDB提供职业安全的积存引擎。假若写入磁盘的写作,操作系统可能硬件未有真正的写入到磁盘,那么crash之后会毁掉。

本条时候必要关闭写缓存,在ATA/SATA上运用以下命令:

$ hdparm -W0 /dev/hda

在一些意况下能够动用写缓存:

·         写缓存能够在xfs上,并且有限支撑电池专门的工作符合规律化的气象下选拔。假使在/var/log /messages上出现以下音讯就不可能采纳写缓存:

o    Disabling barriers, not supported with external log device

o    Disabling barriers, not supported by the underlying device

o    Disabling barriers, trial barrier write failed

以下情况就非得关闭写缓存:

·         要是你利用了ext三文件系统

·         假如采取了LVM

·         若是您利用了软的RAID

·         倘诺选拔了RAID有battery-backed-up memory

 

**2.5 启用tokudb存储引擎**

安装tokudb引擎后,会唤起运转指令语法如下:

 

* This release of Percona Server is distributed with TokuDB storage engine.
  * Run the following script to enable the TokuDB storage engine in Percona Server:

    ps_tokudb_admin --enable -u <mysql_admin_user> -p[mysql_admin_pass] [-S <socket>] [-h <host> -P <port>]

  * See for more installation details

  * See for an introduction to TokuDB

 

使用 ps_tokudb_admin指令 :

ps_tokudb_admin --enable -uroot -p  --sock=/tmp/pmysql.sock --defaults-file=/data/mysql/mysql3306.cnf

 

借使符合规律,则是以下展现,不正规的话,看下后边的安装步骤是或不是少了

 

Checking if Percona server is running with jemalloc enabled...
>> Percona server is running with jemalloc enabled.

Checking transparent huge pages status on the system...
>> Transparent huge pages are currently disabled on the system.

Checking if thp-setting=never option is already set in config file...
>> Option thp-setting=never is not set in the config file.
>> (needed only if THP is not disabled permanently on the system)

Checking TokuDB plugin status...
>> TokuDB plugin is not installed.

Adding thp-setting=never option into /etc/mysql/my.cnf
>> Successfuly added thp-setting=never option into /etc/mysql/my.cnf

Installing TokuDB engine...
>> Successfuly installed TokuDB plugin.

 

设置生产后,能够在

 

SHOW PLUGINS;

SHOW ENGINES;

 

TokuDB Version

root@localhost:pmysql3330.sock  10:42:50 [(none)]>SELECT @@tokudb_version;

------------------

| @@tokudb_version |

------------------

| 5.7.17-13        |

------------------

1 row in set (0.00 sec)

 

**2.5 启用tokudb存款和储蓄引擎**

安装tokudb引擎后,会唤起运维指令语法如下:

 

* This release of Percona Server is distributed with TokuDB storage engine.
  * Run the following script to enable the TokuDB storage engine in Percona Server:

    ps_tokudb_admin --enable -u <mysql_admin_user> -p[mysql_admin_pass] [-S <socket>] [-h <host> -P <port>]

  * See for more installation details

  * See for an introduction to TokuDB

 

使用 ps_tokudb_admin指令 :

ps_tokudb_admin --enable -uroot -p  --sock=/tmp/pmysql.sock --defaults-file=/data/mysql/mysql3306.cnf

 

万1符合规律,则是以下突显,不不奇怪的话,看下前边的装置步骤是或不是少了

 

Checking if Percona server is running with jemalloc enabled...
>> Percona server is running with jemalloc enabled.

Checking transparent huge pages status on the system...
>> Transparent huge pages are currently disabled on the system.

Checking if thp-setting=never option is already set in config file...
>> Option thp-setting=never is not set in the config file.
>> (needed only if THP is not disabled permanently on the system)

Checking TokuDB plugin status...
>> TokuDB plugin is not installed.

Adding thp-setting=never option into /etc/mysql/my.cnf
>> Successfuly added thp-setting=never option into /etc/mysql/my.cnf

Installing TokuDB engine...
>> Successfuly installed TokuDB plugin.

 

设置生产后,能够在

 

SHOW PLUGINS;

SHOW ENGINES;

 

TokuDB Version

root@localhost:pmysql3330.sock  10:42:50 [(none)]>SELECT @@tokudb_version;

------------------

| @@tokudb_version |

------------------

| 5.7.17-13        |

------------------

1 row in set (0.00 sec)

 

3.13 迁移到TokuDB

为了吧表转化到TokuDB引擎,能够运用alter table engine来修改,假设您想要从文件中程导弹入数据,那么使用load data infile,不要选择mysqldump,因为有个别慢。

 

三.1二 进程追踪

TokuDB有1个系统来追踪长运营语句:

·         Bluk Load:当使用load data infile导入多量数目,使用show processlist命令能够查阅到速度分为二部分,已不是提示为:Inserted about 1000000 rows。别的一些是比例,提醒为Loading of data about 1/2 done。

·         扩大索引,当使用alter table或许create index命令创立索引,show processlist显示速度,会提示已经管理的行数。通过那一个纤细来评释进度。和bulk load类似,第2级别展现行管理速度,第一品级展现百分比。

·         提交和收回,当提交或许吊销1个政工,使用show processlist,会评估职业操作管理。

 

三 文件管理及深入分析

三 文件管理及解析

4 TokuDB后台 ANALYZE TABLE

TokuDB有多少个后台线程依照修改的评估来机关深入分析表。

3.13 迁移到TokuDB

为了吧表转化到TokuDB引擎,能够使用alter table engine来修改,假使您想要从文件中程导弹入数据,那么使用load data infile,不要选拔mysqldump,因为微微慢。

 

3.1 安装tokudb引擎后的疯长文件

在多少目录中,新添了几个文本

[root@sutest242 data]# pwd

/data/mysql/pmysql3330/data

[root@sutest242 data]# ls -lh | grep tokudb

-rw-r-----. 1 mysql mysql  16K Jun 24 10:42 tokudb.directory

-rw-r-----. 1 mysql mysql  16K Jun 24 10:42 tokudb.environment

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_data

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_environment

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_logs

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_recovery

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_temp

-rw-r-----. 1 mysql mysql  16K Jun 24 10:42 tokudb.rollback

 

  1. tokudb.environment:tokudb赢取的情状变量存款和储蓄文件,像创造时间、当前版本号
  2. tokudb.rollback:每3个tokudb的事务,都有自个儿的回滚日志,具体回滚日志分配相关音讯记录在这里
  3. tokudb.directory:映射文件夹的名字

3.1 安装tokudb引擎后的新增加文件

在数码目录中,新扩张了8个公文

[root@sutest242 data]# pwd

/data/mysql/pmysql3330/data

[root@sutest242 data]# ls -lh | grep tokudb

-rw-r-----. 1 mysql mysql  16K Jun 24 10:42 tokudb.directory

-rw-r-----. 1 mysql mysql  16K Jun 24 10:42 tokudb.environment

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_data

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_environment

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_logs

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_recovery

-rw-------. 1 mysql mysql    0 Jun 24 10:42 __tokudb_lock_dont_delete_me_temp

-rw-r-----. 1 mysql mysql  16K Jun 24 10:42 tokudb.rollback

 

  1. tokudb.environment:tokudb赢取的情形变量存款和储蓄文件,像创设时间、当前版本号
  2. tokudb.rollback:每1个tokudb的事情,都有温馨的回滚日志,具体回滚日志分配相关音讯记录在此处
  3. tokudb.directory:映射文件夹的名字

四.壹 后台作业

后台作业调解是短跑的,假若在关服务的时候有后台作业运转,那么会被终止。当服务重启已经运转的都会被忽略,供给再行来,假使手动调用ANALYZE TABLE和后台作业争执,那么后台作业会被撤消,能够透过表TOKUDB_BACKGROUND_JOB_STATUS查看后台作业是还是不是运维。

新的tokudb_analyze_in_background变量能够用来兑现调节时候ANALYZE TABLE是后台运维依然在前台。tokudb_analyze_mode用来调节ANALYZE TABLE的行事。

tokudb_analyze_mode变量用来兑现对ANALYZE TABLE的决定:

TOKUDB_ANALYZE_CANCEL:打消在一定表上任何运转的或然应调用的功课。

TOKUDB_ANALYZE_STANDA帕杰罗D:使用已经存在剖判算法。

TOKUDB_ANALYZE_RECOUNT_ROWS:重新总结表上的逻辑行并且更新当前的计数。

 

TOKUDB_ANALYZE_RECOUNT_ROWS 是新的体制,用来实行逻辑重算全体表中的行并且保存,作为表的评估值。这么些方式扩张是为了从老版本晋级的TokuDB难题,老的TokuDB只援救物理行计数,并且未有贰个毋庸置疑的逻辑行计数。新创设的表只怕分区发轫以逻辑行,并且无需被再度总计除非一些边际条件形成逻辑计数变得不正确。那个解析情势不会潜移默化基数计数。会根据tokudb_analyze_in_background和tokudb_analyze_throttle。job运行后在安装变量不会潜移默化当下job的运作。

 

注销任何后台线程,能够安装tokudb_analyze_mode=TOKUDBANALYZE_CANCEL并且在表上运维ANALYZE TABLE。

4 TokuDB后台 ANALYZE TABLE

TokuDB有2个后台线程根据修改的评估来机关深入分析表。

三.二 tokudb文件管理

能够统1把tokudb的数据文件存款和储蓄在某些文件夹下,参数是 tokudb_data_dir

能够统一把tokudb的有时文件存款和储蓄在有些文件夹下,参数是 tokudb_tmp_dir

能够统1把tokudb的日记文件存款和储蓄在有些文件夹下,参数是 tokudb_log_dir

  • 哪些迁移:
    1. 关闭数据库服务
    2. 配备文件中充足也许修改 tokudb_data_dir、tokudb_tmp_dir、、、
    3. 开创 tokudb 文件的囤积目录
    4. 活动文件
      1. 移动 *.tokudb 文件 跟 __tokudb_lock_dont_delete_me_data 到新的积累目录
      2. 移动 __tokudb_lock_dont_delete_me_temp 到新的 存款和储蓄目录
      3. 移动 到新的 log*.tokulog* files and your __tokudb_lock_dont_delete_me_logs file 存储目录
    5. 开行数据库服务器
    6. 查看文件的寄放地方
      1. SELECT dictionary_name, internal_file_name FROM INFORMATION_SCHEMA.TokuDB_file_map;

三.二 tokudb文件管理

可以统一把tokudb的数据文件存款和储蓄在有些文件夹下,参数是 tokudb_data_dir

能够统1把tokudb的有时文件存储在有些文件夹下,参数是 tokudb_tmp_dir

能够统1把tokudb的日志文件存款和储蓄在有个别文件夹下,参数是 tokudb_log_dir

  • 怎么着迁移:
    1. 关门数据库服务
    2. 配备文件中加上或许修改 tokudb_data_dir、tokudb_tmp_dir、、、
    3. 创制 tokudb 文件的存款和储蓄目录
    4. 一抬手一动脚文件
      1. 移动 *.tokudb 文件 跟 __tokudb_lock_dont_delete_me_data 到新的贮存目录
      2. 移动 __tokudb_lock_dont_delete_me_temp 到新的 存款和储蓄目录
      3. 移动 到新的 log*.tokulog* files and your __tokudb_lock_dont_delete_me_logs file 存款和储蓄目录
    5. 开头数据库服务器
    6. 查阅文件的寄放地点
      1. SELECT dictionary_name, internal_file_name FROM INFORMATION_SCHEMA.TokuDB_file_map;

4.贰 自动深入分析

为了促成后台的剖判和采撷计数总计各类表上都维护了叁个增量值,那一个值并不是保留的,当服务重启就能被设置为0.以此记录了富有的写操作。当以此值超越了tokudb_auto_analyze设置的值,那么遵照当下对话的安装会实施一个深入分析。其余对于这几个表的分区就能截止,除非那么些分析变成。当深入分析到位,值被设置为0,重新总结。

 

别的解析到位,状态值都会被上报到劳动。半时反转深入分析,也被完结,也正是说如若赶上十三分之伍的tokudb_analyze_time时间过去,不过还没有深入分析到数据量的十一分之伍,那么剖析会重启,从最后一条数据开端往上深入分析,并且把深入分析结构丰盛到事先的结果上。

 

对于小表,自动解析只怕每一回修改都会实施。出发更是如下假使(table_delta >= ((table_rows *tokudb_auto_analyze) / 十0))那么就开首运维ANALYZE TABLE。假使用户手动调用ANALYZE TABLE并且tokudb_auto_analyze被运营了同期未有抵触的后台作业,用户运维的ANALYZE TABLE会和增量值当先了上线同样,完成后会吧增量设置为0.

四.一 后台作业

后台作业调节是短暂的,若是在关服务的时候有后台作业运行,那么会被终止。当服务重启已经运维的都会被忽略,需求再行来,假如手动调用ANALYZE TABLE和后台作业争持,那么后台作业会被注销,可以透过表TOKUDB_BACKGROUND_JOB_STATUS查看后台作业是还是不是运转。

新的tokudb_analyze_in_background变量能够用来促成调整时候ANALYZE TABLE是后台运维照旧在前台。tokudb_analyze_mode用来调整ANALYZE TABLE的一坐一起。

tokudb_analyze_mode变量用来兑现对ANALYZE TABLE的决定:

TOKUDB_ANALYZE_CANCEL:撤废在一定表上任何运转的照旧应调用的课业。

TOKUDB_ANALYZE_STANDA途睿欧D:使用已经存在剖判算法。

TOKUDB_ANALYZE_RECOUNT_ROWS:重新总计表上的逻辑行并且更新当前的计数。

 

TOKUDB_ANALYZE_RECOUNT_ROWS 是新的体制,用来实施逻辑重算全数表中的行并且保存,作为表的评估值。那些情势扩充是为了从老版本进级的TokuDB难题,老的TokuDB只帮助物理行计数,并且未有3个不易的逻辑行计数。新制造的表也许分区开端以逻辑行,并且没有要求被再次计算除非一些边际条件形成逻辑计数变得离谱。这么些深入分析形式不会影响基数计数。会基于tokudb_analyze_in_background和tokudb_analyze_throttle。job运营后在装置变量不会影响当下job的周转。

 

撤回任何后台线程,能够安装tokudb_analyze_mode=TOKUDBANALYZE_CANCEL并且在表上运转ANALYZE TABLE。

**3.3 主题材料浅析**

information_schemaCurry边的相应系统视图深入分析

 

root@localhost:pmysql3330.sock  17:15:33 [information_schema]>show tables like '%tokudb%';

-----------------------------------------

| Tables_in_information_schema (%tokudb%) |

-----------------------------------------

| TokuDB_fractal_tree_block_map           |

| TokuDB_lock_waits                       |

| TokuDB_trx                              |

| TokuDB_file_map                         |

| TokuDB_locks                            |

| TokuDB_fractal_tree_info                |

| TokuDB_background_job_status            |

-----------------------------------------

7 rows in set (0.00 sec)

 

 

**3.3 标题浅析**

information_schemaCurry边的照望系统视图深入分析

 

root@localhost:pmysql3330.sock  17:15:33 [information_schema]>show tables like '%tokudb%';

-----------------------------------------

| Tables_in_information_schema (%tokudb%) |

-----------------------------------------

| TokuDB_fractal_tree_block_map           |

| TokuDB_lock_waits                       |

| TokuDB_trx                              |

| TokuDB_file_map                         |

| TokuDB_locks                            |

| TokuDB_fractal_tree_info                |

| TokuDB_background_job_status            |

-----------------------------------------

7 rows in set (0.00 sec)

 

 

四.三 系统变量

tokudb_analyze_in_background:假设设置为on,那么任何analyze table都会在后台运转。

tokudb_analyze_mode:

    

TOKUDB_ANALYZE_CANCEL:裁撤在特定表上任何运营的只怕应调用的学业。

TOKUDB_ANALYZE_STANDAEvoqueD:使用已经存在深入分析算法。

TOKUDB_ANALYZE_RECOUNT_ROWS:重新计算表上的逻辑行并且更新当前的计数。

tokudb_analyze_throttle:表示当analyze table的时候最大每秒访问的key

tokudb_analyze_time:会话变量支配深入分析操作开销的轩然大波。

tokudb_auto_analyze:会话变量支配抢先自动分析的比值,写入操作到了这几个比率就能更新。

tokudb_cardinality_scale_percent:弱化也许加重索引或然表的基数个性,譬如innodb写死13分之5,在400行数据,3几个唯一值,公式如下:(200/40 *tokudb_cardinality_scale) / 100

四.二 自动剖析

为了落到实处后台的辨析和综合机械化采煤计数总计每种表上都维护了贰个增量值,那几个值并不是保留的,当服务重启就能被安装为0.以此记录了全体的写操作。当那么些值超越了tokudb_auto_analyze设置的值,那么依照近日对话的安装会执行3个剖判。其余对于这些表的分区就可以告一段落,除非这一个分析到位。当深入分析变成,值被设置为0,重新计算。

 

任何分析到位,状态值都会被举报到劳动。半时反转深入分析,也被完毕,约等于说要是赶过八分之四的tokudb_analyze_time时间过去,可是还未曾深入分析到数据量的二分一,那么剖析会重启,从最终一条数据初步往上深入分析,并且把分析结构丰硕到事先的结果上。

 

对此小表,自动分析只怕每一趟修改都会执行。出发更是如下假使(table_delta >= ((table_rows *tokudb_auto_analyze) / 100))那么就开首运转ANALYZE TABLE。假使用户手动调用ANALYZE TABLE并且tokudb_auto_analyze被运转了还要未有争持的后台作业,用户运转的ANALYZE TABLE会和增量值超越了上线同样,完毕后会吧增量设置为0.

4 备份

    tokudb如何备份呢?

   单表也得以选用mysqldump。全库呢? tokudb引擎全库备份,官方版本是使用 tokudb_backup 引擎来进展,帮忙在线热备。也便是,需求其余安装那一个引擎,安装绝对轻松,使用 ps_tokudb_admin 重启数据库服务预加载引擎 ps_tokudb_admin。

4 备份

    tokudb如何备份呢?

   单表也能够采取mysqldump。全库呢? tokudb引擎全库备份,官方版本是行使 tokudb_backup 引擎来开始展览,协助在线热备。也正是,须要别的安装那个引擎,安装相对简便易行,使用 ps_tokudb_admin 重启数据库服务预加载引擎 ps_tokudb_admin。

4.4 information_schema相关表

INFORMATION_SCHEMA.TOKUDB_BACKGROUND_JOB_STATUS

4.三 系统变量

tokudb_analyze_in_background:就算设置为on,那么任何analyze table都会在后台运维。

tokudb_analyze_mode:

    

TOKUDB_ANALYZE_CANCEL:撤废在一定表上任何运营的要么应调用的功课。

TOKUDB_ANALYZE_STANDA智跑D:使用已经存在解析算法。

TOKUDB_ANALYZE_RECOUNT_ROWS:重新计算表上的逻辑行并且更新当前的计数。

tokudb_analyze_throttle:表示当analyze table的时候最大每秒访问的key

tokudb_analyze_time:会话变量支配深入分析操作开支的轩然大波。

tokudb_auto_analyze:会话变量支配超越自动深入分析的比值,写入操作到了这几个比率就可以更新。

tokudb_cardinality_scale_percent:弱化或然加重索引大概表的基数天性,举个例子innodb写死二分一,在400行数据,叁十几个唯壹值,公式如下:(200/40 *tokudb_cardinality_scale) / 100

四.壹 安器械份引擎

   首先,确定保障数据库是运行经常处境,试行ps_tokudb_admin,要是数据库配置文件 cnf不是在 /etc/my.cnf,要求手动钦定--defaults-file,幸免不能够找到配置文件写入 preload-hotbackup。

 

[root@sutest242 pmysql]# ps_tokudb_admin --enable-backup --socket=/tmp/pmysql3330.sock -uroot -p*** --defaults-file=/data/mysql/pmysql3330.cnf

Checking SELinux status...

INFO: SELinux is in permissive mode.

 

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 not set in the config file.

      (needed only if THP is not disabled permanently on the system)

 

Checking if preload-hotbackup option is already set in config file...

INFO: Option preload-hotbackup is not set in the config file.

 

Checking TokuDB engine plugin status...

INFO: TokuDB engine plugin is installed.

 

Checking TokuBackup plugin status...

INFO: TokuBackup plugin is not installed.

 

Adding preload-hotbackup option into /data/mysql/pmysql3330.cnf

INFO: Successfully added preload-hotbackup option into /data/mysql/pmysql3330.cnf

PLEASE RESTART MYSQL SERVICE AND RUN THIS SCRIPT AGAIN TO FINISH INSTALLATION!

 

 

    那年,能够观望提醒:Successfully added preload-hotbackup option into /data/mysql/pmysql3330.cnf,查看配置文件,在 mysqld_safe 配置中,添增加了壹行 配置 :preload-hotbackup。

 

[mysqld_safe]

preload-hotbackup

malloc-lib=/usr/lib/libjemalloc.so.1

 

 

    重启数据库服务,使用 mysqladmin关闭,mysqld_safe 启动

 

 

[root@sutest242 pmysql]# /usr/local/pmysql/bin/mysqladmin --socket=/tmp/pmysql3330.sock -uroot -p shutdown

Enter password:

2017-06-26T03:48:20.192200Z mysqld_safe mysqld from pid file /data/mysql/pmysql3330/data/mysql.pid ended

[1]   Done                    ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf

 

[root@sutest242 pmysql]# ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf &

[1] 10069

[root@sutest242 pmysql]#  mysqld_safe Adding '/usr/lib/libjemalloc.so.1' to LD_PRELOAD for mysqld

 mysqld_safe Adding '/usr/lib64/libHotBackup.so' to LD_PRELOAD for mysqld

2017-06-26T03:50:32.005677Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-26T03:50:32.013350Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-26T03:50:32.099577Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/pmysql3330/data

 

   这里有个地方注意下, libHotBackup.so 记得要cp到 /usr/lib 或然/usr/lib6四的目录下,不然mysqld_safe运营数据库的时候,会报错如下:

 

mysqld_safe Adding '/usr/lib/libjemalloc.so.1' to LD_PRELOAD for mysqld

mysqld_safe Adding '/opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so' to LD_PRELOAD for mysqld

mysqld_safe ld_preload libraries can only be loaded from system directories (/usr/lib64, /usr/lib, /usr/local/pmysql/lib)

 

    这种景色下,它检查到 安装目录下有 libHotBackup.so 引擎文件,会采用那个加载,须求 把这么些文件拷贝到 /usr/lib6四 也许/usr/lib,再重新加载那一个文件,然后重新实践 mysqld_saft运转服务。

 

cp /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so /usr/lib/libHotBackup.so

mv /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so.bak

 

    数据库运转后,安道具份引擎

 

[root@sutest242 pmysql]# ps_tokudb_admin --enable-backup --socket=/tmp/pmysql3330.sock -uroot -p

Enter password:

 

Checking SELinux status...

INFO: SELinux is in permissive mode.

 

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 not set in the config file.

      (needed only if THP is not disabled permanently on the system)

 

Checking if preload-hotbackup option is already set in config file...

INFO: Option preload-hotbackup is set in the config file.

 

Checking TokuDB engine plugin status...

INFO: TokuDB engine plugin is installed.

 

Checking TokuBackup plugin status...

INFO: TokuBackup plugin is not installed.

 

Checking if Percona Server is running with libHotBackup.so preloaded...

INFO: Percona Server is running with libHotBackup.so preloaded.

 

Adding thp-setting=never option into /etc/my.cnf

INFO: Successfully added thp-setting=never option into /etc/my.cnf

 

Installing TokuBackup plugin...

INFO: Successfully installed TokuBackup plugin.

 

 

    检查

 

root@localhost:pmysql3330.sock  14:34:21 [(none)]>show plugins;

......

| TokuDB                        | ACTIVE   | STORAGE ENGINE     | ha_tokudb.so     | GPL     |

| TokuDB_background_job_status  | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| TokuDB_file_map               | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| TokuDB_fractal_tree_block_map | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| TokuDB_fractal_tree_info      | 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_trx                    | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| tokudb_backup                 | ACTIVE   | DAEMON             | tokudb_backup.so | GPL     |

------------------------------- ---------- -------------------- ------------------ ---------

59 rows in set (0.00 sec)

 

四.壹 安器具份引擎

   首先,确认保证数据库是开发银行健康状态,实践ps_tokudb_admin,假若数据库配置文件 cnf不是在 /etc/my.cnf,必要手动指定--defaults-file,制止无法找到配置文件写入 preload-hotbackup。

 

[root@sutest242 pmysql]# ps_tokudb_admin --enable-backup --socket=/tmp/pmysql3330.sock -uroot -p*** --defaults-file=/data/mysql/pmysql3330.cnf

Checking SELinux status...

INFO: SELinux is in permissive mode.

 

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 not set in the config file.

      (needed only if THP is not disabled permanently on the system)

 

Checking if preload-hotbackup option is already set in config file...

INFO: Option preload-hotbackup is not set in the config file.

 

Checking TokuDB engine plugin status...

INFO: TokuDB engine plugin is installed.

 

Checking TokuBackup plugin status...

INFO: TokuBackup plugin is not installed.

 

Adding preload-hotbackup option into /data/mysql/pmysql3330.cnf

INFO: Successfully added preload-hotbackup option into /data/mysql/pmysql3330.cnf

PLEASE RESTART MYSQL SERVICE AND RUN THIS SCRIPT AGAIN TO FINISH INSTALLATION!

 

 

    今年,能够见见提醒:Successfully added preload-hotbackup option into /data/mysql/pmysql3330.cnf,查看配置文件,在 mysqld_safe 配置中,添增加了壹行 配置 :preload-hotbackup。

 

[mysqld_safe]

preload-hotbackup

malloc-lib=/usr/lib/libjemalloc.so.1

 

 

    重启数据库服务,使用 mysqladmin关闭,mysqld_safe 启动

 

 

[root@sutest242 pmysql]# /usr/local/pmysql/bin/mysqladmin --socket=/tmp/pmysql3330.sock -uroot -p shutdown

Enter password:

2017-06-26T03:48:20.192200Z mysqld_safe mysqld from pid file /data/mysql/pmysql3330/data/mysql.pid ended

[1]   Done                    ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf

 

[root@sutest242 pmysql]# ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf &

[1] 10069

[root@sutest242 pmysql]#  mysqld_safe Adding '/usr/lib/libjemalloc.so.1' to LD_PRELOAD for mysqld

 mysqld_safe Adding '/usr/lib64/libHotBackup.so' to LD_PRELOAD for mysqld

2017-06-26T03:50:32.005677Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-26T03:50:32.013350Z mysqld_safe Logging to '/data/mysql/pmysql3330/data/error.log'.

2017-06-26T03:50:32.099577Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/pmysql3330/data

 

   这里有个地点注意下, libHotBackup.so 记得要cp到 /usr/lib 可能/usr/lib6肆的目录下,不然mysqld_safe运转数据库的时候,会报错如下:

 

mysqld_safe Adding '/usr/lib/libjemalloc.so.1' to LD_PRELOAD for mysqld

mysqld_safe Adding '/opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so' to LD_PRELOAD for mysqld

mysqld_safe ld_preload libraries can only be loaded from system directories (/usr/lib64, /usr/lib, /usr/local/pmysql/lib)

 

    这种情景下,它检查到 安装目录下有 libHotBackup.so 引擎文件,会动用这一个加载,需求 把这么些文件拷贝到 /usr/lib6四 只怕/usr/lib,再重复加载那么些文件,然后重新实践 mysqld_saft运行服务。

 

cp /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so /usr/lib/libHotBackup.so

mv /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so /opt/percona/Percona-Server-5.7.17-13-Linux.x86_64.ssl101/lib/libHotBackup.so.bak

 

    数据库运营后,安道具份引擎

 

[root@sutest242 pmysql]# ps_tokudb_admin --enable-backup --socket=/tmp/pmysql3330.sock -uroot -p

Enter password:

 

Checking SELinux status...

INFO: SELinux is in permissive mode.

 

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 not set in the config file.

      (needed only if THP is not disabled permanently on the system)

 

Checking if preload-hotbackup option is already set in config file...

INFO: Option preload-hotbackup is set in the config file.

 

Checking TokuDB engine plugin status...

INFO: TokuDB engine plugin is installed.

 

Checking TokuBackup plugin status...

INFO: TokuBackup plugin is not installed.

 

Checking if Percona Server is running with libHotBackup.so preloaded...

INFO: Percona Server is running with libHotBackup.so preloaded.

 

Adding thp-setting=never option into /etc/my.cnf

INFO: Successfully added thp-setting=never option into /etc/my.cnf

 

Installing TokuBackup plugin...

INFO: Successfully installed TokuBackup plugin.

 

 

    检查

 

root@localhost:pmysql3330.sock  14:34:21 [(none)]>show plugins;

......

| TokuDB                        | ACTIVE   | STORAGE ENGINE     | ha_tokudb.so     | GPL     |

| TokuDB_background_job_status  | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| TokuDB_file_map               | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| TokuDB_fractal_tree_block_map | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| TokuDB_fractal_tree_info      | 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_trx                    | ACTIVE   | INFORMATION SCHEMA | ha_tokudb.so     | GPL     |

| tokudb_backup                 | ACTIVE   | DAEMON             | tokudb_backup.so | GPL     |

------------------------------- ---------- -------------------- ------------------ ---------

59 rows in set (0.00 sec)

 

5 TokuDB变量

具体看:

4.4 information_schema相关表

INFORMATION_SCHEMA.TOKUDB_BACKGROUND_JOB_STATUS

**4.2 备份tokudb**

实例备份

  • 安排前提
    • 设若实例含有innodb引擎的表格,须要关闭 innodb异步io的变量 innodb_use_native_aio,制止出现数据不相同等,不可能复苏的备份。那么些变量只可以在布局文件中增加,属于readonly变量
    • 树立备份文件夹,这几个文件夹必须是为空、授权备份文件夹可写,因为备份的时候,须求写入及创立文件夹,所以对其所在的公文夹要求有权力
    • 注意,tokudb_back对自己引擎的报表,支持对单身存款和储蓄的 tokudb_data_dir tokudb_log_dir binary log备份,不过,不协理不支持不帮助innodb或许myisam引擎的表格此外存款和储蓄,也正是 全数的InnoDB存款和储蓄引擎,MyISAM,及别的文件必须在MySQL datadir
    • tokubackup不备份MySQL的布置文件(S)
    • tokubackup不帮衬增量备份
  • 配置
    • 在布局文件中设置 innodb_use_native_aio = OFF,重启数据库实例,这里注意,运维数据库供给到 /usr/local/pmysql 目录下,推行 ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf
    • 成立文件夹 /data/backup/pmysql3330 ,并授权
      • chown -R mysql:mysql /data/backup

      备份分为第22中学,壹种是实例备份,一种是点名备份,方今tokudb_backup仅协理一切实例备份,协理混合引擎,内定备份,如今采用mysqldump方法。

  • 实例备份
    • set tokudb_backup_dir='/data/backup/pmysql3330';
    • 施行那一个命令则始于备份,备份进度中,帮衬读写,
  • 备份出错验证

root@localhost:pmysql3330.sock  10:57:13 [(none)]>select @@tokudb_backup_last_error;

----------------------------

| @@tokudb_backup_last_error |

----------------------------

|                         13 |

----------------------------

1 row in set (0.00 sec)

 

root@localhost:pmysql3330.sock  10:57:30 [(none)]>select @@tokudb_backup_last_error_string;

---------------------------------------------------

| @@tokudb_backup_last_error_string                 |

---------------------------------------------------

| tokudb backup couldn't create needed directories. |

---------------------------------------------------

1 row in set (0.00 sec)

  • 报表备份

[root@sutest242 local]# /usr/local/pmysql/bin/mysqldump --socket=/tmp/pmysql3330.sock -uroot -p --set-gtid-purged=OFF --databases toku --tables tbback_toku > /tmp/tbback_toku.sql

Enter password:

  • 实例备份后重操旧业
    • tokudbback没有一定的函数进行数据恢复生机,可以运用cp或许sync到 数据目录,大概直接采取备份目录
    • 专注权限修改

rsync -avrP /data/backup/ /var/lib/mysql/

chown -R mysql:mysql /var/lib/mysql

 

 

**4.2 备份tokudb**

实例备份

  • 配备前提
    • 假若实例含有innodb引擎的表格,要求关闭 innodb异步io的变量 innodb_use_native_aio,制止出现数据不平等,无法恢复生机的备份。那么些变量只辛亏布署文件中足够,属于readonly变量
    • 构造建设备份文件夹,那几个文件夹必须是为空、授权备份文件夹可写,因为备份的时候,须要写入及创造文件夹,所以对其所在的文书夹必要有权力
    • 注意,tokudb_back对本人引擎的表格,辅助对独立存款和储蓄的 tokudb_data_dir tokudb_log_dir binary log备份,但是,不辅助不协助不扶助innodb只怕myisam引擎的报表此外部存储器储,也便是 全体的InnoDB存款和储蓄引擎,MyISAM,及别的文件必须在MySQL datadir
    • tokubackup不备份MySQL的安插文件(S)
    • tokubackup不补助增量备份
  • 配置
    • 在计划文件中装置 innodb_use_native_aio = OFF,重启数据库实例,这里注意,运转数据库须要到 /usr/local/pmysql 目录下,实践 ./bin/mysqld_safe --defaults-file=/data/mysql/pmysql3330.cnf
    • 确立文件夹 /data/backup/pmysql3330 ,并授权
      • chown -R mysql:mysql /data/backup

      备份分为2中,壹种是实例备份,一种是内定备份,最近tokudb_backup仅援救全数实例备份,补助混合引擎,钦定备份,近些日子应用mysqldump方法。

  • 实例备份
    • set tokudb_backup_dir='/data/backup/pmysql3330';
    • 实施那个命令则始于备份,备份进程中,协助读写,
  • 备份出错验证

root@localhost:pmysql3330.sock  10:57:13 [(none)]>select @@tokudb_backup_last_error;

----------------------------

| @@tokudb_backup_last_error |

----------------------------

|                         13 |

----------------------------

1 row in set (0.00 sec)

 

root@localhost:pmysql3330.sock  10:57:30 [(none)]>select @@tokudb_backup_last_error_string;

---------------------------------------------------

| @@tokudb_backup_last_error_string                 |

---------------------------------------------------

| tokudb backup couldn't create needed directories. |

---------------------------------------------------

1 row in set (0.00 sec)

  • 报表备份

[root@sutest242 local]# /usr/local/pmysql/bin/mysqldump --socket=/tmp/pmysql3330.sock -uroot -p --set-gtid-purged=OFF --databases toku --tables tbback_toku > /tmp/tbback_toku.sql

Enter password:

  • 实例备份后苏醒
    • tokudbback未有特定的函数举行数据苏醒,能够应用cp或然sync到 数据目录,或然直接动用备份目录
    • 只顾权限修改

rsync -avrP /data/backup/ /var/lib/mysql/

chown -R mysql:mysql /var/lib/mysql

 

 

6 TokuDB Troubleshooting

5 TokuDB变量

具体看:

6.壹 得知难点

复制和binary log:

TokuDB支持binary log和复制,可是有个限制TokuDB,正是auto-increment效用的锁机制未有完成,所以并发插入语句或者会导致不鲜明的,那么在slave上运行的时候会促成和master不匹配,唯有在依赖语句复制上才会生出。

在向来不索引恐怕索引是主键子集的表上使用REPLACE INTO或许INSERT IGNORE,tokudb_pk_insert_mode调整行是或不是被复制。

 

Uninformative error message

LOAD INFILE命令大概会招致错误,ELANDRO奥德赛 十30 (HY000): Got error 一 from storage engine.消息也会说是因为磁盘空间不足导致有的时候文件不能创设。

 

Transparent Huge Pages

壹旦开发银行了transparent huge page,Tokudb不会运营。使用以下命令来剥夺:

# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

 

XA behavior vs. InnoDB

InnoDB会强制死锁捐躯,不过Tokudb不会。

6 TokuDB Troubleshooting

6.2 TukoDB锁

TokuDB使用key range lock来落到实处串行事务,在作业进程中获得,在业务截止时释放锁。

TokuDB把那个数据结构存放在锁树中。锁树存放了各样职业的range锁。其它锁树也保留了因为冲突未有被获取的锁。当事情退出,那么这么些等待是锁也会被剥离。假使pengding的锁未有被予以,那么锁超时后也会脱离。

陆.1 得知难题

复制和binary log:

TokuDB帮助binary log和复制,但是有个限制TokuDB,正是auto-increment效率的锁机制未有兑现,所以并发插入语句只怕会导致不分明的,那么在slave上运营的时候会导致和master不相称,唯有在依赖语句复制上才会时有产生。

在一向不索引或然索引是主键子集的表上使用REPLACE INTO只怕INSERT IGNORE,tokudb_pk_insert_mode调控行是不是被复制。

 

Uninformative error message

LOAD INFILE命令恐怕会招致错误,E奥迪Q5RO宝马7系 1030 (HY000): Got error 一 from storage engine.音讯也会说是因为磁盘空间不足导致临时文件不可能创制。

 

Transparent Huge Pages

即使开发银行了transparent huge page,Tokudb不会运行。使用以下命令来剥夺:

# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

 

XA behavior vs. InnoDB

InnoDB会强制死锁牺牲,不过Tokudb不会。

6.2.1 TOKUDB_TRX表

TOKUDB_TRX在INFORMATION_SCHEMA中,能够用一下措施和mysql客户端关联:

SELECT * FROM INFORMATION_SCHEMA.TOKUDB_TRX,

  INFORMATION_SCHEMA.PROCESSLIST

  WHERE trx_mysql_thread_id = id;

6.2 TukoDB锁

TokuDB使用key range lock来达成串行事务,在业务进度中获取,在事情结束时释放锁。

TokuDB把这几个数据结构存放在锁树中。锁树存放了各样专业的range锁。此外锁树也保留了因为争持未有被获取的锁。当事情退出,那么这个等待是锁也会被剥离。要是pengding的锁未有被赋予,那么锁超时后也会退出。

6.2.2 TOKUDB_LOCKS表

Tokudb_locks表在information_schema中含有了授权了的TokuDB的政工中的锁。使用以下语句和客户端关联:

SELECT id FROM INFORMATION_SCHEMA.TOKUDB_LOCKS,

  INFORMATION_SCHEMA.PROCESSLIST

  WHERE locks_mysql_thread_id = id;

6.2.1 TOKUDB_TRX表

TOKUDB_TRX在INFORMATION_SCHEMA中,能够用一下艺术和mysql客户端关联:

SELECT * FROM INFORMATION_SCHEMA.TOKUDB_TRX,

  INFORMATION_SCHEMA.PROCESSLIST

  WHERE trx_mysql_thread_id = id;

6.2.3 TOKUDB_LOCK_WAITS表

Tokudb_lock_waits表也在information_schema中:

SELECT * FROM INFORMATION_SCHEMA.TOKUDB_LOCK_WAITS;

6.2.2 TOKUDB_LOCKS表

Tokudb_locks表在information_schema中包罗了授权了的TokuDB的政工中的锁。使用以下语句和客户端关联:

SELECT id FROM INFORMATION_SCHEMA.TOKUDB_LOCKS,

  INFORMATION_SCHEMA.PROCESSLIST

  WHERE locks_mysql_thread_id = id;

陆.三 引擎状态

具体看:

6.2.3 TOKUDB_LOCK_WAITS表

Tokudb_lock_waits表也在information_schema中:

SELECT * FROM INFORMATION_SCHEMA.TOKUDB_LOCK_WAITS;

六.四 全局状态变量

具体看:

陆.三 引擎状态

具体看:

7 Percona TokuBackup

Percona tokubackup是3个开源的备份tokudb的叁个热备工具。在备份时期不会锁定数据库。Tokubackup会获取系统写入文件的调用,并复制到备份目录中。

陆.四 全局状态变量

具体看:

7.1 从binary安装

TokuBackup包蕴在percona server 伍.七.十和事后的版本,安装能够采用ps_tokudb_admin脚本。

安装TokuBackup:

1.      运行ps_tokudb_admin –enable-backup增加preload-hotbackup选项到[mysqld-safe]下的my.cnf中。

2.      重启mysql服务

3.      运行ps_tokudb_admin –enable-backup安装tokubackup插件。

7 Percona TokuBackup

Percona tokubackup是三个开源的备份tokudb的一个热备工具。在备份时期不会锁定数据库。Tokubackup会获取系统写入文件的调用,并复制到备份目录中。

7.2 备份

备份的目录必须存在,能够写为空,并且属于mysql运行用户。壹旦目录被制造备份能够行使以下命令备份:

mysql> set tokudb_backup_dir='/path_to_empty_directory';

7.1 从binary安装

TokuBackup包涵在percona server 五.七.10和之后的本子,安装能够运用ps_tokudb_admin脚本。

安装TokuBackup:

1.      运行ps_tokudb_admin –enable-backup增加preload-hotbackup选项到[mysqld-safe]下的my.cnf中。

2.      重启mysql服务

3.      运行ps_tokudb_admin –enable-backup安装tokubackup插件。

7.3 还原

备份工具未有回复数据库的职能,要接纳rsync只怕cp来还原来的书文件。检查还原的文本和相应的涉嫌和权杖。比如利用rsync来回复备份:

$ rsync -avrP /data/backup/ /var/lib/mysql/

修改全数者

$ chown -R mysql:mysql /var/lib/mysql

借使改造了某人tokudb数据目录也许Tokudb日志目录,那么要求独自的去设置。

$ rsync -avrP /data/backup/mysql_data_dir/ /var/lib/mysql/

$ rsync -avrP /data/backup/tokudb_data_dir/ /path/to/original/tokudb_data_dir/

$ rsync -avrP /data/backup/tokudb_log_dir/ /path/to/original/tokudb_log_dir/

$ chown -R mysql:mysql /var/lib/mysql

$ chown -R mysql:mysql /path/to/original/tokudb_data_dir

$ chown -R mysql:mysql /path/to/original/tokudb_log_dir

7.2 备份

备份的目录必须存在,能够写为空,并且属于mysql运营用户。1旦目录被创制备份能够动用以下命令备份:

mysql> set tokudb_backup_dir='/path_to_empty_directory';

柒.四 推荐配置

7.3 还原

备份工具未有过来数据库的魔法,要利用rsync也许cp来还原来的书文件。检查还原的文件和呼应的关联和权力。譬喻选拔rsync来回复备份:

$ rsync -avrP /data/backup/ /var/lib/mysql/

修改全体者

$ chown -R mysql:mysql /var/lib/mysql

借使改变了某人tokudb数据目录恐怕Tokudb日志目录,那么须要单独的去设置。

$ rsync -avrP /data/backup/mysql_data_dir/ /var/lib/mysql/

$ rsync -avrP /data/backup/tokudb_data_dir/ /path/to/original/tokudb_data_dir/

$ rsync -avrP /data/backup/tokudb_log_dir/ /path/to/original/tokudb_log_dir/

$ chown -R mysql:mysql /var/lib/mysql

$ chown -R mysql:mysql /path/to/original/tokudb_data_dir

$ chown -R mysql:mysql /path/to/original/tokudb_log_dir

7.四.1 监察和控制进程

TokuBackup更新processlist的气象,呈现备份的速度,能够选拔show processlist查看。

七.4 推荐配置

七.4.二 排除源文件

可以经过正则表明式排除文件也许目录,设置在tokudb_backup_exclude会话变量中。如果源文件名负荷这些正则表明式,那么就能够被清除。举例lost found目录:

mysql> SET tokudb_backup_exclude='/lost\ found($|/)';

七.肆.壹 监察和控制进程

TokuBackup更新processlist的景观,展现备份的进程,能够选择show processlist查看。

7.肆.三 备份率阀值

能够钦赐备份的阀值,tokudb_backup_throttle会话等第变量。这几个变量表示每秒字节传输率。

七.四.二 排除源文件

能够透过正则表明式排除文件可能目录,设置在tokudb_backup_exclude会话变量中。如果源文件名负荷那一个正则表明式,那么就能够被扫除。比方lost found目录:

mysql> SET tokudb_backup_exclude='/lost\ found($|/)';

柒.四.4 限制备份目的

你能够界定本地目的目录,tokudb_backup_allowed_prefix系统变量。暗中认可是null,备份未有界定目的目录。参数是只读的只好通过my.cnf配置。

7.四.三 备份率阀值

可以钦命备份的阀值,tokudb_backup_throttle会话等级变量。那几个变量表示每秒字节传输率。

7.四.五 错误报告

Tokubackup使用一个变量来博取错误音信。Tokudb_backup_last_error, tokudb_backup_laster_error_string。当tokubackup发生三个荒唐,变量就能够议及展览示显影的错误代码和错误音讯。

mysql> SET tokudb_backup_dir='/tmp/backupdir';

ERROR 1231 (42000): Variable 'tokudb_backup_dir' can't be set to the value of '/tmp/backupdir'

 

mysql> SELECT @@tokudb_backup_last_error;

----------------------------

| @@tokudb_backup_last_error |

----------------------------

|                         17 |

----------------------------

 

mysql> SELECT @@tokudb_backup_last_error_string;

---------------------------------------------------

| @@tokudb_backup_last_error_string                 |

---------------------------------------------------

| tokudb backup couldn't create needed directories. |

---------------------------------------------------

7.四.四 限制备份目的

你能够限制本地目的目录,tokudb_backup_allowed_prefix系统变量。暗许是null,备份未有范围目的目录。参数是只读的只可以通过my.cnf配置。

7.四.陆 限制和已知的主题材料

·         你必须关闭innodb异步io假若应用tukobackup备份innodb表。不然就能够并发一致性错误。innodb_use_native_aio=0

·         如若要求还原到钦点点,要求手动获取binary log position。

·         事务存款和储蓄引擎会在备份还原后,第3次运行会实行还原。

·         表使用非事务引擎在备份的时候不会锁定。所以最佳在备份的时候幸免表操作。

·         备份的时候目的目录必须存在,并且为空

·         TokuBackup会一向备份datadir目录,选取性的备份tokudb_data_dir和tokudb_log_dir,和binary log目录。假诺不在datadir中那么须要单独备份。

·         不扶助任何目录结构,innodb,myisam和任何存款和储蓄引擎必须在datadir上边。

·         Buzhichi symbolic links

·         不备份配置文件

·         不备份datadir 外的表空间。

·         当备份的时候在执行optimize table恐怕alter table tablespace,那么就不能够苏醒备份。

·         不支持增量备份。

7.四.伍 错误报告

Tokubackup使用一个变量来获取错误音讯。Tokudb_backup_last_error, tokudb_backup_laster_error_string。当tokubackup爆发一个张冠李戴,变量就能够来得显影的错误代码和错误消息。

mysql> SET tokudb_backup_dir='/tmp/backupdir';

ERROR 1231 (42000): Variable 'tokudb_backup_dir' can't be set to the value of '/tmp/backupdir'

 

mysql> SELECT @@tokudb_backup_last_error;

----------------------------

| @@tokudb_backup_last_error |

----------------------------

|                         17 |

----------------------------

 

mysql> SELECT @@tokudb_backup_last_error_string;

---------------------------------------------------

| @@tokudb_backup_last_error_string                 |

---------------------------------------------------

| tokudb backup couldn't create needed directories. |

---------------------------------------------------

8 FAQ

具体看:

 

7.4.陆 限制和已知的题目

·         你必须关闭innodb异步io要是应用tukobackup备份innodb表。不然就能够冒出一致性错误。innodb_use_native_aio=0

·         要是要求还原到指确定地点,需求手动获取binary log position。

·         事务存款和储蓄引擎会在备份还原后,第壹遍运营会实行苏醒。

·         表使用非事务引擎在备份的时候不会锁定。所以最棒在备份的时候幸免表操作。

·         备份的时候指标目录必须存在,并且为空

·         TokuBackup会平昔备份datadir目录,选择性的备份tokudb_data_dir和tokudb_log_dir,和binary log目录。就算不在datadir中那么须要独自备份。

·         不扶助别的目录结构,innodb,myisam和其余存款和储蓄引擎必须在datadir下边。

·         Buzhichi symbolic links

·         不备份配置文件

·         不备份datadir 外的表空间。

·         当备份的时候在推行optimize table可能alter table tablespace,那么就不可能苏醒备份。

·         不协理增量备份。

8 FAQ

具体看:

 

TokuDB,perconatokudb Percona TokuDB Percona TokuDB . 壹 壹. TokuDB 表明 ... 1 二. TokuDB 安装 ... 1 三. 用到 TokuDB . 1 三.一 急速插入和富索引 ... 一 三.二 集中 se...

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:澳门新萄京官方网站:MySQL_第一方数据库引擎_

关键词: