• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • NDB群集的MySQL服务器选项和变量

    本节提供有关特定于NDB Cluster的MySQL服务器选项,服务器和状态变量的信息。有关使用它们的一般信息以及NDB Cluster以外的其他选项和变量,请参见“ MySQL服务器”。

    有关群集配置文件(通常为config.ini)中使用的NDB群集配置参数,请参见“ NDB群集的配置”。

    NDB群集的MySQL服务器选项

    本节描述了与NDB群集有关的mysqld服务器选项。有关不是特定于NDB Cluster的mysqld选项的信息,以及有关在mysqld中使用选项的一般信息,请参见“服务器命令选项”。

    有关与其他NDB群集进程(ndbdndb_mgmdndb_mgm)一起使用的命令行选项的信息,请参见“ NDB群集程序的公用选项— NDB群集程序的公用选项”。有关NDB实用程序(例如ndb_descndb_size.plndb_show_tables)使用的命令行选项的信息,请参见“ NDB群集程序”。

    • --ndbcluster

      属性
      命令行格式--ndbcluster[=value]
      被禁用skip-ndbcluster
      类型列举
      默认值ON
      有效值

      OFF

      FORCE

      NDBCLUSTER存储引擎是必要的使用NDB簇。如果mysqld二进制文件包含对NDBCLUSTER存储引擎的支持,则默认情况下会禁用该引擎。使用该--ndbcluster选项将其启用。使用--skip-ndbcluster明确禁止发动机。

      如果还使用了该--ndbcluster选项,则该选项将被忽略(并且启用NDB存储引擎)。(将此选项与一起使用既没有必要,也不是合意的。)--initialize--initialize

    • --ndb-allow-copying-alter-table=[ON|OFF]

      属性
      命令行格式--ndb-allow-copying-alter-table[={OFF|ON}]
      系统变量ndb_allow_copying_alter_table
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      Let ALTER TABLE和其他DDL语句在NDB表上使用复制操作。设置以OFF防止发生这种情况;这样做可以提高关键应用程序的性能。

    • --ndb-batch-size=#

      属性
      命令行格式--ndb-batch-size
      系统变量ndb_batch_size
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值32768
      最低值0
      最大值31536000

      这将设置用于NDB事务批处理的字节大小。

    • --ndb-cluster-connection-pool=#

      属性
      命令行格式--ndb-cluster-connection-pool
      系统变量ndb_cluster_connection_pool
      系统变量ndb_cluster_connection_pool
      范围Global
      范围Global
      动态没有
      动态没有
      SET_VAR提示适用没有
      SET_VAR提示适用没有
      类型整数
      默认值1
      最低值1
      最大值63

      通过将此选项设置为大于1的值(默认值),mysqld进程可以使用与群集的多个连接,从而有效地模仿了多个SQL节点。每个连接在群集配置()文件中都需要其自己的部分[api][mysqld]部分config.ini,并计入群集支持的最大API连接数。

      假设您有2台群集主机,每台群集主机运行一个SQL节点,该节点的mysqld进程以--ndb-cluster-connection-pool=4;开头。这意味着群集必须有8个API插槽可用于这些连接(而不是2个)。所有这些连接都是在SQL节点连接到群集时建立的,并以循环方式分配给线程。

      仅当在具有多个CPU,多个内核或两者都有的主机上运行mysqld时,此选项才有用。为了获得最佳结果,该值应小于主机上可用内核的总数。将其设置为大于该值的值可能会严重降低性能。

      重要

      因为每个使用连接池的SQL节点都占用多个API节点插槽(每个插槽在集群中都有自己的节点ID),所以在启动任何使用连接池的mysqld进程时,不得将节点ID用作集群连接字符串的一部分。

      使用该--ndb-cluster-connection-pool选项时,在连接字符串中设置节点ID 会在SQL节点尝试连接到群集时导致节点ID分配错误。

    • --ndb-cluster-connection-pool-nodeids=list

      属性
      命令行格式--ndb-cluster-connection-pool-nodeids
      系统变量ndb_cluster_connection_pool_nodeids
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型
      默认值

      指定以逗号分隔的节点ID列表,用于连接到SQL节点使用的群集。此列表中的节点数必须与为该--ndb-cluster-connection-pool选项设置的值相同。

    • --ndb-blob-read-batch-bytes=bytes

      属性
      命令行格式--ndb-blob-read-batch-bytes
      系统变量ndb_blob_read_batch_bytes
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值65536
      最低值0
      最大值4294967295

      此选项可用于设置BLOBNDB Cluster应用程序中的数据读取批处理的大小(以字节为单位)。当此批处理大小超出BLOB当前事务中要读取的数据量时,BLOB将立即执行所有挂起的读取操作。

      此选项的最大值为4294967295;默认值为65536。将其设置为0具有禁用BLOB读取批处理的效果。

      注意

      在NDB API应用程序中,可以BLOB使用setMaxPendingBlobReadBytes()getMaxPendingBlobReadBytes()方法控制写批处理。

    • --ndb-blob-write-batch-bytes=bytes

      属性
      命令行格式--ndb-blob-write-batch-bytes
      系统变量ndb_blob_write_batch_bytes
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值65536
      最低值0
      最大值4294967295

      此选项可用于设置BLOBNDB Cluster应用程序中的批量数据写入的大小(以字节为单位)。当该批处理大小超出BLOB当前事务中要写入的数据量时,BLOB将立即执行所有挂起的写操作。

      此选项的最大值为4294967295;默认值为65536。将其设置为0具有禁用BLOB写批处理的效果。

      注意

      在NDB API应用程序中,可以BLOB使用setMaxPendingBlobWriteBytes()getMaxPendingBlobWriteBytes()方法控制写批处理。

    • --ndb-connectstring=connection_string

      属性
      命令行格式--ndb-connectstring
      类型string

      使用NDBCLUSTER存储引擎时,此选项指定分发群集配置数据的管理服务器。有关语法,请参见“ NDB群集连接字符串”。

    • --ndb-default-column-format=[FIXED|DYNAMIC]

      属性
      命令行格式--ndb-default-column-format={FIXED|DYNAMIC}
      系统变量ndb_default_column_format
      范围Global
      动态
      SET_VAR提示适用没有
      类型列举
      默认值FIXED
      有效值

      FIXED

      DYNAMIC

      设置默认表COLUMN_FORMATROW_FORMAT新表(请参见“ CREATE TABLE语句”)。默认值为FIXED

    • --ndb-deferred-constraints=[0|1]

      属性
      命令行格式--ndb-deferred-constraints
      系统变量ndb_deferred_constraints
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值1

      控制是否将对唯一索引的约束检查推迟到提交时间(支持这种检查的时间)之前。0是默认值。

      NDB群集或NDB群集复制的操作通常不需要此选项,主要用于测试。

    • --ndb-schema-dist-timeout=#

      属性
      命令行格式--ndb-schema-dist-timeout=#
      介绍了8.0.17-ndb-8.0.17
      系统变量ndb_schema_dist_timeout
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值120
      最低值5
      最大值1200

      指定此mysqld在将其标记为超时之前等待架构操作完成的最长时间(以秒为单位)。

    • --ndb-distribution=[KEYHASH|LINHASH]

      属性
      命令行格式--ndb-distribution={KEYHASH|LINHASH}
      系统变量ndb_distribution
      范围Global
      动态
      SET_VAR提示适用没有
      类型列举
      默认值KEYHASH
      有效值

      LINHASH

      KEYHASH

      控制NDB表的默认分发方法。可以设置为KEYHASH(键哈希)或LINHASH(线性哈希)。KEYHASH是默认值。

    • --ndb-log-apply-status

      属性
      命令行格式--ndb-log-apply-status[={OFF|ON}]
      系统变量ndb_log_apply_status
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      使从属mysqldmysql.ndb_apply_status使用其自己的服务器ID而不是主服务器的服务器ID,将从其直接主服务器接收到的所有更新记录到其自己的二进制日志中的表中。在循环或链式复制设置中,这允许此类更新传播到mysql.ndb_apply_status配置为当前mysqld的从属的任何MySQL服务器的表。

      在链式复制设置中,使用此选项可使下游(从属)群集了解其相对于所有上游参与者(主服务器)的位置。

      在循环复制设置中,此选项将导致对ndb_apply_status表的更改以完成整个电路,最终传播回原始的NDB群集。这还允许充当母版的集群参见其更改(历元)何时已应用于圆中的其他集群。

      除非使用该--ndbcluster选项启动MySQL服务器,否则该选项无效。

    • --ndb-log-empty-epochs=[ON|OFF]

      属性
      命令行格式--ndb-log-empty-epochs[={OFF|ON}]
      系统变量ndb_log_empty_epochs
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      导致一个时期,即使启用了该时期,也没有更改写入ndb_apply_statusndb_binlog_indexlog_slave_updates

      默认情况下,此选项是禁用的。禁用--ndb-log-empty-epochs会导致没有任何更改的纪元事务不会写入二进制日志,尽管即使对于中的空纪元也仍会写一行ndb_binlog_index

      因为--ndb-log-empty-epochs=1导致ndb_binlog_index表的大小独立于二进制日志的大小而增加,所以即使用户期望群集大部分时间处于空闲状态,用户也应准备好管理该表的增长。

    • --ndb-log-empty-update=[ON|OFF]

      属性
      命令行格式--ndb-log-empty-update[={OFF|ON}]
      系统变量ndb_log_empty_update
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      启用时,导致不产生任何更改的更新写入ndb_apply_statusndb_binlog_indexlog_slave_updates

      默认情况下,此选项为禁用(OFF)。禁用--ndb-log-empty-update会导致没有更改的更新不会写入二进制日志。

    • --ndb-log-exclusive-reads=[0|1]

      属性
      命令行格式--ndb-log-exclusive-reads[={OFF|ON}]
      系统变量ndb_log_exclusive_reads
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值0

      使用此选项启动服务器会导致使用排他锁记录主键读取,从而允许NDB群集复制冲突检测和基于读取冲突的解决。您也可以在运行时通过将ndb_log_exclusive_reads系统变量的值分别设置为1或0来启用和禁用这些锁。默认值为0(禁用锁定)。

      有关更多信息,请参阅阅读冲突检测和解决方案。

    • --ndb-log-orig

      属性
      命令行格式--ndb-log-orig[={OFF|ON}]
      系统变量ndb_log_orig
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      ndb_binlog_index表中记录原始服务器ID和时期。

      注意

      这样一来,给定的纪元就可能有多个行ndb_binlog_index,每个原始纪元都有一个行。

      有关更多信息,请参见“ NDB群集复制架构和表”。

    • --ndb-log-transaction-id

      属性
      命令行格式--ndb-log-transaction-id[={OFF|ON}]
      系统变量ndb_log_transaction_id
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      使从属mysqld在二进制日志的每一行中写入NDB事务ID。默认值为FALSE

      主线MySQL Server 8.0不支持此选项。需要使用NDB$EPOCH_TRANS()函数来启用NDB群集复制冲突检测和解决(请参阅 NDB $ EPOCH_TRANS())。有关更多信息,请参见“ NDB群集复制冲突解决”。

      不推荐使用的log_bin_use_v1_row_events系统变量,默认为OFF,不能设置为ON当您使用--ndb-log-transaction-id

    • --ndb-log-update-minimal

      属性
      命令行格式--ndb-log-update-minimal[={OFF|ON}]
      系统变量ndb_log_update_minimal
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      通过仅在前映像中写入主键值,并仅在后映像中写入更改的列,以最小的方式记录日志更新。如果复制到以外的存储引擎,可能会导致兼容性问题NDB

    • --ndb-mgmd-host=host[:port]

      属性
      命令行格式--ndb-mgmd-host=host_name[:port_num]
      类型string
      默认值localhost:1186

      可用于设置程序要连接到的单个管理服务器的主机和端口号。如果程序在其连接信息中需要节点ID或对多个管理服务器的引用(或两者都引用),请改用该--ndb-connectstring选项。

    • --ndb-nodeid=#

      属性
      命令行格式--ndb-nodeid=#
      状态变量Ndb_cluster_node_id
      范围Global
      动态没有
      类型整数
      最低值1
      最大值255
      最大值63

      在NDB群集中设置此MySQL服务器的节点ID。

      无论使用这两个选项的顺序如何,该--ndb-nodeid选项都会覆盖使用设置的任何节点ID --ndb-connectstring

      另外,如果--ndb-nodeid使用,则必须在的[mysqld][api]部分中找到匹配的节点ID config.ini,或者在文件中必须存在“ open ”[mysqld][api]部分(即,未指定NodeIdId参数的部分)。如果将节点ID指定为连接字符串的一部分,则也是如此。

      无论该节点ID是如何确定的,其被示出为全局状态变量的值Ndb_cluster_node_id中的输出SHOW STATUS,并作为cluster_node_idconnection的输出行SHOW ENGINE NDBCLUSTER STATUS

      有关NDB群集SQL节点的节点ID的更多信息,请参见“在NDB群集中定义SQL和其他API节点”。

    • --ndbinfo={ON|OFF|FORCE}

      属性
      命令行格式--ndbinfo[=value](≥8.0.13-ndb-8.0.13)
      介绍了8.0.13-ndb-8.0.13
      类型列举
      默认值ON
      有效值

      OFF

      FORCE

      启用ndbinfo信息数据库插件。默认情况下,无论何时启用,此选项都为ON NDBCLUSTER

    • --ndb-optimization-delay=milliseconds

      属性
      命令行格式--ndb-optimization-delay=#
      系统变量ndb_optimization_delay
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值10
      最低值0
      最大值100000

      通过OPTIMIZE TABLE表上的语句设置在行集之间等待的毫秒数NDB。预设值为10。

    • ndb-transid-mysql-connection-map=state

      属性
      命令行格式--ndb-transid-mysql-connection-map[=state]
      类型列举
      默认值ON
      有效值

      ON

      OFF

      FORCE

      启用或禁用处理数据库ndb_transid_mysql_connection_map中表的插件INFORMATION_SCHEMA。所采用的值中的一个ONOFFFORCEON(默认)启用插件。OFF禁用插件,使其ndb_transid_mysql_connection_map无法访问。FORCE如果插件无法加载和启动,则阻止MySQL服务器启动。

      您可以ndb_transid_mysql_connection_map通过检查的输出来参见表插件是否正在运行SHOW PLUGINS

    • --ndb-wait-connected=seconds

      属性
      命令行格式--ndb-wait-connected=#
      系统变量ndb_wait_connected
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值30
      最低值0
      最大值31536000

      此选项设置MySQL服务器在接受MySQL客户端连接之前等待与NDB群集管理和数据节点建立连接的时间。时间以秒为单位指定。默认值为30

    • --ndb-wait-setup=seconds

      属性
      命令行格式--ndb-wait-setup=#
      系统变量ndb_wait_setup
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值30
      默认值30
      默认值15
      默认值15
      最低值0
      最大值31536000

      该变量显示MySQL服务器等待NDB存储引擎完成设置的时间,然后超时并NDB视为不可用。时间以秒为单位指定。默认值为30

    • --skip-ndbcluster

      属性
      命令行格式--skip-ndbcluster

      禁用NDBCLUSTER存储引擎。这是使用NDBCLUSTER存储引擎支持构建的二进制文件的默认设置。只有--ndbcluster明确指定了选项,服务器才会为此存储引擎分配内存和其他资源。有关示例,请参见“ NDB群集的快速测试设置”。

    NDB群集系统变量

    本节提供有关特定于NDB Cluster和NDB存储引擎的MySQL服务器系统变量的详细信息。对于不是特定于NDB Cluster的系统变量,请参见“服务器系统变量”。有关使用系统变量的一般信息,请参见“使用MySQL服务器系统变量”。

    • ndb_autoincrement_prefetch_sz

      属性
      命令行格式--ndb-autoincrement-prefetch-sz=#
      系统变量ndb_autoincrement_prefetch_sz
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值(≥8.0.19-ndb-8.0.19)512
      默认值(≤8.0.18-ndb-8.0.18)1
      最低值1
      最大值65536

      确定自动递增列中的间隔的概率。将其设置1为最小化。将其设置为较高的值以进行优化可加快插入速度,但可降低在一批插入物中使用连续自动递增编号的可能性。

      该变量仅影响AUTO_INCREMENT语句之间获取的ID 数量;在给定语句中,一次至少获得32个ID。

      重要

      此变量不会影响使用进行的插入INSERT ... SELECT

    • ndb_cache_check_time

      属性
      命令行格式--ndb-cache-check-time=#
      不推荐使用
      系统变量ndb_cache_check_time
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0

      MySQL查询缓存检查NDB Cluster SQL节点之间经过的毫秒数。将此设置为0(默认值和最小值)意味着查询缓存将检查每个查询的有效性。

      此变量的建议最大值为1000,这表示每秒执行一次检查。较大的值表示执行检查,并且由于在不同的SQL节点上进行更新的频率较低而可能使检查无效。通常不希望将其设置为大于2000的值。

      注意

      ndb_cache_check_timeMySQL 5.7不推荐使用查询缓存;查询缓存已在MySQL 8.0中删除。

    • ndb_clear_apply_status

      属性
      命令行格式--ndb-clear-apply-status[={OFF|ON}]
      系统变量ndb_clear_apply_status
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      默认情况下,执行将RESET SLAVE导致NDB群集复制从属服务器清除其ndb_apply_status表中的所有行。您可以通过设置禁用此功能ndb_clear_apply_status=OFF

    • ndb_data_node_neighbour

      属性
      命令行格式--ndb-data-node-neighbour=#
      系统变量ndb_data_node_neighbour
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值255

      设置“最近的”数据节点的ID,即,选择首选的非本地数据节点来执行事务,而不是与SQL或API节点在同一主机上运行的节点。这用于确保访问完全复制的表时,我们在此数据节点上对其进行访问,以确保在可能的情况下始终使用表的本地副本。这也可以用于提供交易提示。

      如果节点在物理上比同一个主机上的其他节点更近,并因此具有更高的网络吞吐量,则可以缩短数据访问时间。

      有关更多信息,请参见“设置NDB_TABLE选项”。

      注意

      set_data_node_neighbour()提供了一种等效方法供NDB API应用程序使用。

    • ndb_dbg_check_shares

      属性
      命令行格式--ndb-dbg-check-shares=#
      介绍了8.0.13-ndb-8.0.13
      系统变量ndb_dbg_check_shares
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值1

      设置为1时,请检查是否没有共享。仅在调试版本中可用。

      在NDB 8.0.13中添加。

    • ndb_default_column_format

      属性
      命令行格式--ndb-default-column-format={FIXED|DYNAMIC}
      系统变量ndb_default_column_format
      范围Global
      动态
      SET_VAR提示适用没有
      类型列举
      默认值FIXED
      有效值

      FIXED

      DYNAMIC

      设置默认表COLUMN_FORMATROW_FORMAT新表(请参见“ CREATE TABLE语句”)。默认值为FIXED

    • ndb_deferred_constraints

      属性
      命令行格式--ndb-deferred-constraints=#
      系统变量ndb_deferred_constraints
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值1

      控制是否在支持约束检查的情况下推迟约束检查。0是默认值。

      NDB群集或NDB群集复制的操作通常不需要此变量,并且主要用于测试。

    • ndb_distribution

      属性
      命令行格式--ndb-distribution={KEYHASH|LINHASH}
      系统变量ndb_distribution
      范围Global
      动态
      SET_VAR提示适用没有
      类型列举
      默认值KEYHASH
      有效值

      LINHASH

      KEYHASH

      控制NDB表的默认分发方法。可以设置为KEYHASH(键哈希)或LINHASH(线性哈希)。KEYHASH是默认值。

    • ndb_eventbuffer_free_percent

      属性
      命令行格式--ndb-eventbuffer-free-percent=#
      系统变量ndb_eventbuffer_free_percent
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值20
      最低值1
      最大值99

      设置分配给事件缓冲区(ndb_eventbuffer_max_alloc)的最大内存的百分比,该内存在达到最大值后,在再次开始缓冲之前应该在事件缓冲区中可用。

    • ndb_eventbuffer_max_alloc

      属性
      命令行格式--ndb-eventbuffer-max-alloc=#
      系统变量ndb_eventbuffer_max_alloc
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值4294967295

      设置NDB API可以分配用于缓冲事件的最大内存量(以字节为单位)。0表示不强加任何限制,并且是默认值。

    • ndb_extra_logging

      属性
      命令行格式ndb_extra_logging=#
      系统变量ndb_extra_logging
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值1

      使用此变量可以在MySQL错误日志中记录特定于NDB存储引擎的信息。

      当此变量设置为0时,唯一特定于此的信息将NDB写入MySQL错误日志中,该信息与事务处理有关。如果将其设置为大于0但小于10的值,NDB还将记录表架构和连接事件,以及是否正在使用冲突解决方法以及其他NDB错误和信息。如果该值设置为10或更大,则有关NDB内部的信息(例如,群集节点之间的数据分发进度)也将写入MySQL错误日志。预设值为1。

    • ndb_force_send

      属性
      命令行格式--ndb-force-send[={OFF|ON}]
      系统变量ndb_force_send
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      强制NDB立即发送缓冲区,而无需等待其他线程。默认为ON

    • ndb_fully_replicated

      属性
      命令行格式--ndb-fully-replicated[={OFF|ON}]
      系统变量ndb_fully_replicated
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      确定是否NDB完全复制新表。可以COMMENT="NDB_TABLE=FULLY_REPLICATED=..."CREATE TABLEor ALTER TABLE语句中使用单个表覆盖此设置。有关语法和其他信息,请参见“设置NDB_TABLE选项”。

    • ndb_index_stat_enable

      属性
      命令行格式--ndb-index-stat-enable[={OFF|ON}]
      系统变量ndb_index_stat_enable
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      NDB在查询优化中使用索引统计信息。默认值为ON

    • ndb_index_stat_option

      属性
      命令行格式--ndb-index-stat-option=value
      系统变量ndb_index_stat_option
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型string
      默认值loop_checkon=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=32, check_delay=1m,delete_batch=8,clean_delay=0,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90

      此变量用于为NDB索引统计信息生成提供调整选项。该列表由选项名称和值的逗号分隔名称/值对组成,并且此列表不得包含任何空格字符。

      设置时未使用的选项未ndb_index_stat_option从其默认值更改。例如,您可以设置ndb_index_stat_option ='loop_idle=1000ms,cache_limit=32M'

      时间值可以选择加h(小时),m(分钟)或s(秒)作为后缀。可以选择使用毫秒指定毫秒值ms;毫秒值不能使用指定hms。)整数的值可以与后缀KMG

      下表中显示了可以使用此变量设置的选项的名称。该表还提供了有关选项,其默认值以及(如果适用)其最小值和最大值的简要说明。

      ndb_index_stat_option选项和值

      名称描述默认值/单位最小/最大
      loop_enable1000毫秒0 / 4G
      loop_idle空闲时睡觉的时间1000毫秒0 / 4G
      loop_busy等待更多工作的时候睡觉100毫秒0 / 4G
      update_batch1个0 / 4G
      read_batch41/4克
      idle_batch321/4克
      check_batch81/4克
      check_delay多久检查一次新统计数据10米1/4克
      delete_batch80 / 4G
      clean_delay1米0 / 4G
      error_batch41/4克
      error_delay1米1/4克
      evict_batch81/4克
      evict_delay从读取时间开始清理LRU缓存1米0 / 4G
      cache_limitmysqld用于缓存索引统计的最大存储量(字节);超过此数量时清理缓存。3200万0 / 4G
      cache_lowpct900/100
      zero_total将此设置为1会将所有累加计数器重置ndb_index_stat_status为0。完成此操作后,此选项值也将重置为0。00/1

    • ndb_join_pushdown

      属性
      系统变量ndb_join_pushdown
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      此变量控制是否将NDB表上的联接下推到NDB内核(数据节点)。以前,NDB联接是由SQL节点使用多次访问来处理的;但是,当ndb_join_pushdown启用时,可推送联接将完整地发送到数据节点,在其中可以将其分发到数据节点中,并在数据的多个副本上并行执行,并将单个合并结果返回给mysqld。这样可以大大减少SQL节点与处理此类联接所需的数据节点之间的往返次数。

      默认情况下ndb_join_pushdown启用。

      NDB下推连接的条件。为了使连接可推送,它必须满足以下条件:

      1. 只能比较列,所有要连接的列必须使用完全相同的数据类型。这意味着(例如)INT列和BIGINT列上的联接也不能被下推。

        以前,不能将诸如之类的表达式下推。在NDB 8.0.18及更高版本中取消了此限制。对要比较的任何列进行任何操作的结果都必须产生与列本身相同的类型。t1.a = t2.a +constant

        同样从NDB 8.0.18开始,可以下推比较来自同一表的列的表达式。这些列(或这些列上任何操作的结果)必须具有完全相同的类型,包括相同的符号,长度,字符集和排序规则,精度和小数位数(如果适用)。

      2. 不支持查询引用BLOBTEXT列。
      3. 不支持显式锁定;但是,将NDB强制执行存储引擎的特征性隐式基于行的锁定。

        这意味着使用的FOR UPDATE联接不能被下推。

      4. 为了使加盟下推,子表的连接必须使用的一个访问refeq_refconst访问方法,或这些方法的一些组合。

        外部联接的子表只能使用推送eq_ref

        如果强制联接的根是eq_refconst,则只能eq_ref附加由联接的子表。(由联接的表ref很可能成为另一个推入联接的根。)

        如果查询优化器决定Using join cache使用候选子表,则该表不能作为子表推入。但是,它可能是另一组推入表的根。

      5. 联接由[LINEAR] HASHLISTRANGE当前明确划分的引用表无法下推。

      您可以通过使用EXPLAIN;检查是否可以向下推给定的联接。当可以按下连接时,您可以在输出pushed joinExtra列中看到对的引用,如本示例所示:

      mysql> EXPLAIN
      ->     SELECT e.first_name, e.last_name, t.title, d.dept_name
      ->         FROM employees e
      ->         JOIN dept_emp de ON e.emp_no=de.emp_no
      ->         JOIN departments d ON d.dept_no=de.dept_no
      ->         JOIN titles t ON e.emp_no=t.emp_no\G
      *************************** 1. row***************************
                 id: 1
        select_type: SIMPLE
              table: d
               type: ALL
      possible_keys: PRIMARY
                key: NULL
            key_len: NULL
                ref: NULL
               rows: 9
              Extra: Parent of 4 pushed join@1
      *************************** 2. row***************************
                 id: 1
        select_type: SIMPLE
              table: de
               type: ref
      possible_keys: PRIMARY,emp_no,dept_no
                key: dept_no
            key_len: 4
                ref: employees.d.dept_no
               rows: 5305
              Extra: Child of 'd' in pushed join@1
      *************************** 3. row***************************
                 id: 1
        select_type: SIMPLE
              table: e
               type: eq_ref
      possible_keys: PRIMARY
                key: PRIMARY
            key_len: 4
                ref: employees.de.emp_no
               rows: 1
              Extra: Child of 'de' in pushed join@1
      *************************** 4. row***************************
                 id: 1
        select_type: SIMPLE
              table: t
               type: ref
      possible_keys: PRIMARY,emp_no
                key: emp_no
            key_len: 4
                ref: employees.de.emp_no
               rows: 19
              Extra: Child of 'e' in pushed join@1
      4 rows in set (0.00 sec)
      
      注意

      如果内部联接的子表由联接ref并且结果按排序索引排序或分组,则该索引无法提供排序行,这会强制写入排序后的临时文件。

      提供了有关推入连接性能的两个其他信息来源:

      1. 状态变量Ndb_pushed_queries_definedNdb_pushed_queries_droppedNdb_pushed_queries_executed,和Ndb_pushed_reads
      2. ndbinfo.counters表中属于DBSPJ内核块的计数器。有关这些计数器的信息,请参见“ ndbinfo计数器表”。另请参阅《NDB Cluster API开发人员指南》中的DBSPJ模块。
    • ndb_log_apply_status

      属性
      命令行格式--ndb-log-apply-status[={OFF|ON}]
      系统变量ndb_log_apply_status
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      只读变量,显示服务器是否使用该--ndb-log-apply-status选项启动。

    • ndb_log_bin

      属性
      命令行格式--ndb-log-bin[={OFF|ON}]
      系统变量ndb_log_bin
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值(≥8.0.16-ndb-8.0.16)OFF
      默认值(≤8.0.15-ndb-8.0.15)ON

      使对NDB表的更新被写入二进制日志。如果使用尚未在服务器上启用二进制日志记录,则此变量的设置无效log_bin。在NDB 8.0.16和更高版本中,ndb_log_bin默认值为0(FALSE)。

    • ndb_log_binlog_index

      属性
      命令行格式--ndb-log-binlog-index[={OFF|ON}]
      系统变量ndb_log_binlog_index
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      使历元到二进制日志中位置的映射插入ndb_binlog_index表中。如果尚未使用启用服务器的二进制日志记录,则设置此变量无效log_bin。(此外,ndb_log_bin不得禁用。)ndb_log_binlog_index默认为1ON);通常,在生产环境中永远不需要更改此值。

    • ndb_log_empty_epochs

      属性
      命令行格式--ndb-log-empty-epochs[={OFF|ON}]
      系统变量ndb_log_empty_epochs
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      当此变量设置为0时,没有更改的纪元事务不会写入二进制日志,尽管即使对于中的空纪元也仍会写一行ndb_binlog_index

    • ndb_log_empty_update

      属性
      命令行格式--ndb-log-empty-update[={OFF|ON}]
      系统变量ndb_log_empty_update
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      当此变量设置为ON1)时,即使log_slave_updates启用,更新也不会更改的事务将写入二进制日志。

    • ndb_log_exclusive_reads

      属性
      命令行格式--ndb-log-exclusive-reads[={OFF|ON}]
      系统变量ndb_log_exclusive_reads
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值0

      此变量确定是否使用排他锁记录主键读取,从而允许NDB群集复制冲突检测和基于读取冲突的解决。要启用这些锁定,请将值设置ndb_log_exclusive_reads为1。默认值为 0。

      有关更多信息,请参阅阅读冲突检测和解决方案。

    • ndb_log_orig

      属性
      命令行格式--ndb-log-orig[={OFF|ON}]
      系统变量ndb_log_orig
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      显示表中是否记录了原始服务器ID和时期ndb_binlog_index。使用--ndb-log-orig服务器选项进行设置。

    • ndb_log_transaction_id

      属性
      系统变量ndb_log_transaction_id
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      该只读布尔系统变量显示从属mysqld是否在二进制日志中写入NDB事务ID(需要将“ active-active ” NDB群集复制与NDB$EPOCH_TRANS()冲突检测一起使用)。要更改设置,请使用--ndb-log-transaction-id选项。

      ndb_log_transaction_id主线MySQL Server 8.0不支持。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • ndb_metadata_check

      属性
      命令行格式--ndb-metadata-check[={OFF|ON}]
      介绍了8.0.16-ndb-8.0.16
      系统变量ndb_metadata_check
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      从NDB 8.0.16开始,与MySQL数据字典相比,NDB使用后台线程每秒钟检查一次元数据更改ndb_metadata_check_interval。可以通过设置ndb_metadata_check为禁用此元数据更改检测线程OFF。默认情况下启用该线程。

    • ndb_metadata_check_interval

      属性
      命令行格式--ndb-metadata-check-interval=#
      介绍了8.0.16-ndb-8.0.16
      系统变量ndb_metadata_check_interval
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值60
      最低值0
      最大值31536000

      在NDB 8.0.16及更高版本中,NDB在后台运行元数据更改检测线程,以确定NDB字典相对于MySQL数据字典何时已更改。默认情况下,两次检查之间的间隔为60秒;可以通过设置的值进行调整ndb_metadata_check_interval。要启用或禁用线程,请使用ndb_metadata_check

    • ndb_metadata_sync

      属性
      介绍了8.0.19-ndb-8.0.19
      系统变量ndb_metadata_sync
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值false

      设置此变量将使更改监视器线程覆盖为ndb_metadata_check或设置的任何值ndb_metadata_check_interval,并输入一个连续更改检测时间段。当线程确定没有更多要检测的更改时,它将停止直到二进制日志记录线程完成所有检测到的对象的同步为止。ndb_metadata_sync然后将设置为false,并且更改监视器线程将还原为ndb_metadata_check和的设置所确定的行为ndb_metadata_check_interval

    • ndb_optimized_node_selection

      属性
      命令行格式--ndb-optimized-node-selection=#
      系统变量ndb_optimized_node_selection
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值3
      最低值0
      最大值3

      优化节点选择有两种形式,在此进行描述:

      1. 该SQL节点使用 promixity来确定事务协调;即,“最靠近”的SQL节点数据节点被选择作为事务协调器。为此,与SQL节点具有共享内存连接的数据节点被视为与SQL节点“最接近”;下一个最接近的(按递减的顺序排列)是:与的TCP连接localhost,然后是除以外的其他主机的TCP连接localhost
      2. SQL线程使用分发感知来选择数据节点。即,将包含由给定事务的第一条语句访问的群集分区的数据节点用作整个事务的事务协调器。(仅当事务的第一条语句访问的群集分区数量不超过一个时,此方法才有效。)

      此选项取整数值之一012,或33是默认值。这些值影响节点选择,如下所示:

      • 0:节点选择未优化。在SQL线程进入下一个数据节点之前,将每个数据节点用作事务协调器8次。
      • 1:靠近SQL节点用于确定事务协调器。
      • 2:分发意识用于选择事务协调器。但是,如果事务的第一条语句访问多个群集分区,则SQL节点将恢复为将此选项设置为时的循环行为0
      • 3:如果可以使用分发意识来确定事务协调器,则使用它;否则,使用接近度来选择交易协调器。(这是默认行为。)

      接近程度确定如下:

      1. 从为Group参数设置的值开始(默认为55)。
      2. 对于与其他API节点共享同一主机的API节点,将值减1。假设的默认值Group,与API节点在同一主机上的数据节点的有效值为54,而远程数据节点的有效值为55。
      3. 设置ndb_data_node_neighbour进一步将有效值减小Group 50,从而使该节点被视为最近的节点。仅当所有数据节点都位于托管API节点以外的其他主机上并且需要将其中一个专用于API节点时,才需要这样做。在正常情况下,前面描述的默认调整就足够了。

      ndb_data_node_neighbour不建议进行频繁的更改,因为这会更改群集连接的状态,从而可能中断来自每个线程的新事务的选择算法,直到稳定为止。

    • ndb_read_backup

      属性
      命令行格式--ndb-read-backup[={OFF|ON}]
      系统变量ndb_read_backup
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值(≥8.0.19-ndb-8.0.19)ON
      默认值(≤8.0.18-ndb-8.0.18)OFF

      NDB随后创建的任何表启用从任何副本的读取;这样做以相对较小的写入成本大大提高了表读取性能。

      要为单个表启用或禁用从任何副本的读取,可以在或语句中相应地设置该表的NDB_TABLE选项。有关更多信息,请参见“设置NDB_TABLE选项”。READ_BACKUPCREATE TABLEALTER TABLE

    • ndb_recv_thread_activation_threshold

      属性
      命令行格式--ndb-recv-thread-activation-threshold=#
      系统变量ndb_recv_thread_activation_threshold
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值8
      最低值0(MIN_ACTIVATION_THRESHOLD)
      最大值16(MAX_ACTIVATION_THRESHOLD)

      当达到并发活动线程的数量时,接收线程将接管集群连接的轮询。

      此变量的作用域是全局的。也可以在启动时进行设置。

    • ndb_recv_thread_cpu_mask

      属性
      命令行格式--ndb-recv-thread-cpu-mask=mask
      系统变量ndb_recv_thread_cpu_mask
      范围Global
      动态
      SET_VAR提示适用没有
      类型位图
      默认值[empty]

      用于将接收器线程锁定到特定CPU的CPU掩码。指定为十六进制位掩码。例如,0x33意味着每个接收器线程使用一个CPU。默认为空字符串。设置ndb_recv_thread_cpu_mask为此值将删除以前设置的所有接收器线程锁。

      此变量的作用域是全局的。也可以在启动时进行设置。

    • ndb_report_thresh_binlog_epoch_slip

      属性
      命令行格式--ndb-report-thresh-binlog-epoch-slip=#
      系统变量ndb_report_thresh_binlog_epoch_slip
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值10
      最低值0
      最大值256

      这代表事件缓冲区中完全缓冲但尚未由二进制日志注入器线程消耗的时期数的阈值。超过此滑动程度(滞后)时,将报告事件缓冲区状态消息,并BUFFERED_EPOCHS_OVER_THRESHOLD提供其原因(请)。当从数据节点接收到一个纪元并将其完全缓冲在事件缓冲区中时,滑动会增加;当二进制日志注入器线程消耗了一个纪元时,它减少了,减少了。空历元被缓冲和排队,因此仅当使用Ndb::setEventBufferQueueEmptyEpoch() NDB API中的方法。

    • ndb_report_thresh_binlog_mem_usage

      属性
      命令行格式--ndb-report-thresh-binlog-mem-usage=#
      系统变量ndb_report_thresh_binlog_mem_usage
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值10
      最低值0
      最大值10

      这是报告二进制日志状态之前剩余可用内存百分比的阈值。例如,值10(默认值)表示如果用于从数据节点接收二进制日志数据的可用内存量降到10%以下,则会向集群日志发送状态消息。

    • ndb_row_checksum

      属性
      系统变量ndb_row_checksum
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值1
      最低值0
      最大值1

      传统上,NDB创建的表具有行校验和,用于检查硬件问题,但会降低性能。设置ndb_row_checksum为0表示行校验和用于新表或更改后的表,这对所有类型的查询的性能都有重要影响。默认情况下,此变量设置为1,以提供向后兼容的行为。

    • ndb_schema_dist_lock_wait_timeout

      属性
      命令行格式--ndb-schema-dist-lock-wait-timeout=value
      介绍了8.0.18-ndb-8.0.18
      系统变量ndb_schema_dist_lock_wait_timeout
      范围Global
      动态
      SET_VAR提示适用没有
      类型整数
      默认值30
      最低值0
      最大值1200

      在模式分发期间,等待每个SQL节点上的元数据锁定以更改其本地数据字典以反映DDL语句更改所要等待的秒数。在此时间过去之后,将返回警告,表明未使用更改更新给定SQL节点的数据字典。这样可以避免二进制日志记录线程在处理架构操作时等待过多的时间。

    • ndb_schema_dist_timeout

      属性
      命令行格式--ndb-schema-dist-timeout=value
      介绍了8.0.16-ndb-8.0.16
      系统变量ndb_schema_dist_timeout
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值120
      最低值5
      最大值1200

      在架构分发期间检测到超时之前等待的秒数。这可能表明其他SQL节点正在经历过多的活动,或者此时正以某种方式阻止它们获取必要的资源。

    • ndb_schema_dist_upgrade_allowed

      属性
      命令行格式--ndb-schema-dist-upgrade-allowed=value
      介绍了8.0.17-ndb-8.0.17
      系统变量ndb_schema_dist_upgrade_allowed
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值true

      连接到时允许升级架构分发表NDB。如果为true(默认值),则此更改将推迟到所有SQL节点都升级到相同版本的NDB Cluster软件之前。

      注意

      在执行升级之前,方案分发的性能可能会有所下降。

    • ndb_show_foreign_key_mock_tables

      属性
      命令行格式--ndb-show-foreign-key-mock-tables[={OFF|ON}]
      系统变量ndb_show_foreign_key_mock_tables
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      显示用于NDB支持的模拟表foreign_key_checks=0。启用此功能后,在创建和删除表时会显示额外的警告。该表的真实(内部)名称可以在的输出中看到SHOW CREATE TABLE

    • ndb_slave_conflict_role

      属性
      命令行格式--ndb-slave-conflict-role=value
      系统变量ndb_slave_conflict_role
      范围Global
      动态
      SET_VAR提示适用没有
      类型列举
      默认值NONE
      有效值

      NONE

      PRIMARY

      SECONDARY

      PASS

      确定此SQL节点(和NDB群集)在循环(“主动-主动”)复制设置中的角色。ndb_slave_conflict_role可以采取的值的任何一个PRIMARYSECONDARYPASS,或NULL(缺省值)。必须先停止从SQL线程,然后才能进行更改ndb_slave_conflict_role。此外,它是不可能直接在...之间改变PASS和任一PRIMARYSECONDARY直接;在这种情况下,必须确保SQL线程已停止,然后SET @@GLOBAL.ndb_slave_conflict_role ='NONE'先执行。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • ndb_table_no_logging

      属性
      系统变量ndb_table_no_logging
      范围Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      当此变量设置为ON或时1,它将导致NDB表不被检查点指向磁盘。更具体地说,此设置适用于使用启用ENGINE NDB时创建或更改ndb_table_no_logging的表,即使在ndb_table_no_logging以后进行更改时,该设置也会继续适用于表的生命周期。假设ABC,和D是表,我们创建(或许也会改变),而且我们还更改设置ndb_table_no_logging,如下所示:

      SET @@ndb_table_no_logging = 1;
      
      CREATE TABLE A ... ENGINE NDB;
      
      CREATE TABLE B ... ENGINE MYISAM;
      CREATE TABLE C ... ENGINE MYISAM;
      
      ALTER TABLE B ENGINE NDB;
      
      SET @@ndb_table_no_logging = 0;
      
      CREATE TABLE D ... ENGINE NDB;
      ALTER TABLE C ENGINE NDB;
      
      SET @@ndb_table_no_logging = 1;
      

      在上一个事件序列之后,不对表AB进行检查点;A与一起创建,ENGINE NDB并且B被更改为use NDB,两者均ndb_table_no_logging处于启用状态。但是,表CD被记录;C已更改为使用NDBD并使用禁用了创建ENGINE NDB,两者均ndb_table_no_logging被禁用。设置ndb_table_no_logging1还是ON不会导致表CD进行检查点。

      注意

      ndb_table_no_loggingNDB表模式文件的创建没有影响;要抑制这些,请ndb_table_temporary改用。

    • ndb_table_temporary

      属性
      系统变量ndb_table_temporary
      范围Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      当设置为ON或时1,此变量导致NDB不将表写入磁盘:这意味着未创建表架构文件,并且未记录表。

      注意

      设置此变量当前无效。这是一个已知的问题;参见错误#34036。

    • ndb_use_copying_alter_table

      属性
      系统变量ndb_use_copying_alter_table
      范围Global, Session
      动态没有
      SET_VAR提示适用没有

      NDB在线ALTER TABLE操作出现问题时强制使用表的复制。默认值为OFF

    • ndb_use_exact_count

      属性
      系统变量ndb_use_exact_count
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      NDBSELECT COUNT(*)查询计划期间强制使用记录计数来加快这种类型的查询。默认值为OFF,这允许整体上更快的查询。

    • ndb_use_transactions

      属性
      命令行格式--ndb-use-transactions[={OFF|ON}]
      系统变量ndb_use_transactions
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      您可以NDB通过将此变量的值设置为OFF(不推荐)来禁用事务支持。默认值为ON

    • ndb_version

      属性
      系统变量ndb_version
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      默认值

      NDB引擎版本,作为一个复合整数。

    • ndb_version_string

      属性
      系统变量ndb_version_string
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      默认值

      NDB引擎版本的格式。ndb-x.y.z

    • server_id_bits

      属性
      命令行格式--server-id-bits=#
      系统变量server_id_bits
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值32
      最低值7
      最大值32

      此变量指示32位server_id内实际标识服务器的最低有效位的数量。表示服务器实际上是由少于32个比特识别使得能够对一些剩余位被用于其它目的,例如存储由使用内的NDB API的事件的API的应用程序生成的用户数据AnyValue的的OperationOptions结构(NDB簇使用AnyValue来存储服务器ID)。

      server_id出于检测复制循环等目的而从中提取有效服务器ID时,服务器将忽略其余位。当根据服务器ID决定是否应忽略事件时,该server_id_bits变量用于掩盖server_idIO和SQL线程中任何不相关的位。

      可以使用mysqlbinlog从二进制日志中读取此数据,前提是该数据使用自己的server_id_bits变量设置为32(默认值)运行。

      如果该值server_id大于或等于2的幂server_id_bits;否则,mysqld拒绝启动。

      NDB群集仅支持此系统变量。标准MySQL 8.0服务器不支持它。

    • slave_allow_batching

      属性
      命令行格式--slave-allow-batching[={OFF|ON}]
      系统变量slave_allow_batching
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      是否在NDB群集复制从属服务器上启用了批处理更新。

      设置此变量仅在将复制与NDB存储引擎一起使用时有效。在MySQL Server 8.0中,它存在但不执行任何操作。有关更多信息,请参见“启动NDB群集复制(单个复制通道)”。

    • transaction_allow_batching

      属性
      系统变量transaction_allow_batching
      范围Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      设置为1或时ON,此变量启用同一事务内的语句批处理。要使用此变量,autocommit必须首先将其设置为0或来禁用它OFF。否则,设置transaction_allow_batching无效。

      将此变量与仅执行写操作的事务一起使用是安全的,因为启用它会导致从“ before ”映像中进行读取。您应确保COMMIT在发出之前落实所有未决的事务(如果需要,使用显式)SELECT

      重要

      transaction_allow_batching只要给定语句的效果取决于同一事务中前一个语句的结果,就不应使用。

      当前仅NDB群集支持此变量。

    下表中的系统变量都与ndbinfo信息数据库有关。

    • ndbinfo_database

      属性
      系统变量ndbinfo_database
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      默认值ndbinfo

      显示用于NDB信息数据库的名称;默认值为ndbinfo。这是一个只读变量,其值在编译时确定。您可以通过使用启动服务器来进行设置,该服务器设置为此变量显示的值,但实际上并不更改用于NDB信息数据库的名称。--ndbinfo-database=name

    • ndbinfo_max_bytes

      属性
      命令行格式--ndbinfo-max-bytes=#
      系统变量ndbinfo_max_bytes
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值0

      仅用于测试和调试。

    • ndbinfo_max_rows

      属性
      命令行格式--ndbinfo-max-rows=#
      系统变量ndbinfo_max_rows
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型整数
      默认值10

      仅用于测试和调试。

    • ndbinfo_offline

      属性
      系统变量ndbinfo_offline
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      ndbinfo数据库置于脱机模式,在该模式下,即使表和视图实际上不存在,也可以在其中存在但定义不同的情况下打开它们NDB。此类表(或视图)不返回任何行。

    • ndbinfo_show_hidden

      属性
      命令行格式--ndbinfo-show-hidden[={OFF|ON}]
      系统变量ndbinfo_show_hidden
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      无论是否ndbinfo数据库的底层内部表显示在mysql客户端。默认值为OFF

    • ndbinfo_table_prefix

      属性
      命令行格式--ndbinfo-table-prefix=name
      系统变量ndbinfo_table_prefix
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型string
      默认值ndb$

      命名ndbinfo数据库的基表时使用的前缀(通常隐藏,除非通过设置暴露ndbinfo_show_hidden)。这是一个只读变量,其默认值为ndb$。您可以使用该--ndbinfo-table-prefix选项启动服务器,但这仅设置变量,而不会更改用于命名隐藏基表的实际前缀;而是使用该选项启动服务器。前缀本身是在编译时确定的。

    • ndbinfo_version

      属性
      系统变量ndbinfo_version
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      默认值

      显示ndbinfo正在使用的引擎的版本;只读。

    NDB群集状态变量

    本节提供有关与NDB Cluster和NDB存储引擎有关的MySQL服务器状态变量的详细信息。有关不是特定于NDB Cluster的状态变量,以及有关使用状态变量的一般信息,请参见“服务器状态变量”。

    • Handler_discover

      MySQL服务器可以询问NDBCLUSTER存储引擎是否知道具有给定名称的表。这称为发现。Handler_discover指示使用此机制发现表的次数。

    • Ndb_api_bytes_sent_count_session

      在此客户端会话中发送到数据节点的数据量(以字节为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_bytes_sent_count_slave

      该从站发送到数据节点的数据量(以字节为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_bytes_sent_count

      此MySQL服务器(SQL节点)发送到数据节点的数据量(以字节为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_bytes_received_count_session

      在此客户端会话中从数据节点接收到的数据量(以字节为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_bytes_received_count_slave

      该从站从数据节点接收的数据量(以字节为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_bytes_received_count

      此MySQL服务器(SQL节点)从数据节点接收的数据量(以字节为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_event_data_count_injector

      NDB binlog注入程序线程接收到的行更改事件数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_event_data_count

      此MySQL服务器(SQL节点)接收到的行更改事件数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_event_nondata_count_injector

      NDB二进制日志注入器线程接收到的除行更改事件以外的事件数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_event_nondata_count

      该MySQL服务器(SQL节点)接收到的除行更改事件以外的事件数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_event_bytes_count_injector

      NDB Binlog注入程序线程接收到的事件的字节数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_event_bytes_count

      此MySQL服务器(SQL节点)接收到的事件的字节数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_pk_op_count_session

      基于或使用主键的此客户端会话中的操作数。这包括对Blob表的操作,隐式解锁操作,自动递增操作以及用户可见的主键操作。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_pk_op_count_slave

      该从站基于或使用主键的操作数。这包括对Blob表的操作,隐式解锁操作,自动递增操作以及用户可见的主键操作。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_pk_op_count

      此MySQL服务器(SQL节点)基于或使用主键的操作数。这包括对Blob表的操作,隐式解锁操作,自动递增操作以及用户可见的主键操作。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_pruned_scan_count_session

      此客户端会话中已修剪到单个分区的扫描数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_pruned_scan_count_slave

      此从属服务器已修剪到单个分区的扫描次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_pruned_scan_count

      该MySQL服务器(SQL节点)已修剪到单个分区的扫描次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_range_scan_count_session

      在此客户端会话中已启动的范围扫描数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_range_scan_count_slave

      此从站已启动的范围扫描的数量。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_range_scan_count

      此MySQL服务器(SQL节点)已启动的范围扫描数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_read_row_count_session

      在此客户端会话中已读取的总行数。这包括该客户端会话中进行的任何主键,唯一键或扫描操作读取的所有行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_read_row_count_slave

      该从站已读取的总行数。这包括任何主键,唯一键或此从属设备执行的扫描操作读取的所有行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_read_row_count

      该MySQL服务器(SQL节点)已读取的总行数。这包括由任何主键,唯一键或此MySQL服务器(SQL节点)进行的扫描操作读取的所有行。

      您应该意识到,对于查询读取的行,此值可能并不完全准确,原因是在这种情况下,MySQL服务器实际上读取伪行的形式并将所有片段的每个片段的行求和在表中导出所有行的估计计数。使用此估算值而不是表中的实际行数。SELECTCOUNT(*)[table fragment ID]:[number of rows in fragment]Ndb_api_read_row_count

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_scan_batch_count_session

      在此客户端会话中收到的行的批处理数。1个批次定义为来自单个片段的1组扫描结果。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_scan_batch_count_slave

      该从站接收的行的批处理数。1个批次定义为来自单个片段的1组扫描结果。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_scan_batch_count

      此MySQL服务器(SQL节点)接收到的行的批数。1个批次定义为来自单个片段的1组扫描结果。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_table_scan_count_session

      在此客户端会话中已经开始的表扫描的数量,包括内部表的扫描。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_table_scan_count_slave

      此从属服务器已启动的表扫描次数,包括内部表的扫描次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_table_scan_count

      此MySQL服务器(SQL节点)已启动的表扫描数,包括内部表的扫描数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_abort_count_session

      在此客户端会话中中止的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_abort_count_slave

      此从属服务器中止的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_abort_count

      此MySQL服务器(SQL节点)中止的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_close_count_session

      在此客户端会话中关闭的事务数。这个值可能比的总和Ndb_api_trans_commit_count_sessionNdb_api_trans_abort_count_session,因为有些交易可能已被回滚。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_close_count_slave

      该从站关闭的事务数。这个值可能比的总和Ndb_api_trans_commit_count_slaveNdb_api_trans_abort_count_slave,因为有些交易可能已被回滚。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_close_count

      该MySQL服务器(SQL节点)关闭的事务数。这个值可能比的总和Ndb_api_trans_commit_countNdb_api_trans_abort_count,因为有些交易可能已被回滚。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_commit_count_session

      在此客户端会话中提交的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_commit_count_slave

      该从服务器提交的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_commit_count

      此MySQL服务器(SQL节点)提交的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_local_read_row_count_session

      在此客户端会话中已读取的总行数。这包括该客户端会话中进行的任何主键,唯一键或扫描操作读取的所有行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_local_read_row_count_slave

      该从站已读取的总行数。这包括任何主键,唯一键或此从属设备执行的扫描操作读取的所有行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_local_read_row_count

      该MySQL服务器(SQL节点)已读取的总行数。这包括由任何主键,唯一键或此MySQL服务器(SQL节点)进行的扫描操作读取的所有行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_start_count_session

      在此客户端会话中启动的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_start_count_slave

      此从站启动的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_trans_start_count

      此MySQL服务器(SQL节点)启动的事务数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_uk_op_count_session

      此客户端会话中基于或使用唯一键的操作数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_uk_op_count_slave

      该从站基于或使用唯一键的操作数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_uk_op_count

      此MySQL服务器(SQL节点)基于或使用唯一键的操作数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_exec_complete_count_session

      在等待操作执行完成时,线程在此客户机会话中被阻止的次数。这包括所有execute()调用以及客户端看不到的Blob和自动增量操作的隐式执行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_exec_complete_count_slave

      在等待操作完成执行时,此从属线程阻塞线程的次数。这包括所有execute()调用以及客户端看不到的Blob和自动增量操作的隐式执行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_exec_complete_count

      在等待操作执行完成时,此MySQL服务器(SQL节点)阻塞线程的次数。这包括所有execute()调用以及客户端看不到的Blob和自动增量操作的隐式执行。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_meta_request_count_session

      线程在此客户端会话中被阻塞的次数,等待基于元数据的信号,例如DDL请求,新纪元和事务记录占用所期望的次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_meta_request_count_slave

      该从属服务器在等待基于元数据的信号(例如DDL请求,新纪元和事务记录占用)所等待的线程阻塞的次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_meta_request_count

      此MySQL服务器(SQL节点)在等待基于元数据的信号(例如DDL请求,新纪元和事务记录占用)所等待的线程被阻塞的次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_nanos_count_session

      在此客户机会话中等待来自数据节点的任何类型的信号所花费的总时间(以纳秒为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_nanos_count_slave

      该从站等待数据节点发出的任何类型信号所花费的总时间(以纳秒为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_nanos_count

      此MySQL服务器(SQL节点)等待来自数据节点的任何类型的信号所花费的总时间(以纳秒为单位)。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_scan_result_count_session

      在等待基于扫描的信号(例如,等待来自扫描的更多结果或等待关闭扫描)时,线程在此客户端会话中被阻塞的次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但它仅与当前会话有关,并且不受此mysqld的任何其他客户端的影响。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_scan_result_count_slave

      在等待基于扫描的信号(例如,等待来自扫描的更多结果或等待关闭扫描)时,此从属线程阻塞线程的次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。如果此MySQL服务器不充当复制从属服务器,或不使用NDB表,则该值始终为0。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_api_wait_scan_result_count

      在等待基于扫描的信号(例如,等待来自扫描的更多结果或等待关闭扫描)时,该MySQL服务器(SQL节点)阻塞线程的次数。

      尽管可以使用SHOW GLOBAL STATUS或读取此变量SHOW SESSION STATUS,但实际上它是全局范围的。

      有关更多信息,请参见“ NDB API统计信息计数器和变量”。

    • Ndb_cluster_node_id

      如果服务器充当NDB群集节点,则此变量的值是群集中的节点ID。

      如果服务器不属于NDB群集,则此变量的值为0。

    • Ndb_config_from_host

      如果服务器是NDB群集的一部分,则此变量的值是从其获取配置数据的群集管理服务器的主机名或IP地址。

      如果服务器不属于NDB群集,则此变量的值为空字符串。

    • Ndb_config_from_port

      如果服务器是NDB群集的一部分,则此变量的值是服务器连接到群集管理服务器所通过的端口号,服务器从该端口获取配置数据。

      如果服务器不属于NDB群集,则此变量的值为0。

    • Ndb_conflict_fn_max_del_win

      显示NDB$MAX_DELETE_WIN()自从上次启动此mysqld以来由于使用NDB群集复制冲突解决而在当前SQL节点上拒绝行的次数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_fn_max

      在NDB群集复制冲突解决中使用时,该变量显示自上次启动此mysqld以来,由于“最大时间戳获胜”冲突解决而导致行未应用于当前SQL节点的次数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_fn_old

      在NDB群集复制冲突解决方案中使用时,该变量显示自上次重启以来,由于给定mysqld的“ same timestamp wins ”冲突解决结果而未应用行的次数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_fn_epoch

      在NDB群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,NDB$EPOCH()在给定的mysqld上使用冲突解决方案发现冲突的行数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_fn_epoch2

      显示NDB$EPOCH2()自上次重新启动以来,在指定为主数据库的主数据库上使用时,在NDB群集复制冲突解决方案中发现冲突的行数。

      有关更多信息,请参见 NDB $ EPOCH2()。

    • Ndb_conflict_fn_epoch_trans

      在NDB群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,NDB$EPOCH_TRANS()在给定的mysqld上使用冲突解决方案发现冲突的行数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_fn_epoch2_trans

      在NDB群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,NDB$EPOCH_TRANS2()在给定的mysqld上使用冲突解决方案发现冲突的行数。

      有关更多信息,请参见 NDB $ EPOCH2_TRANS()。

    • Ndb_conflict_last_conflict_epoch

      在此从站上检测到冲突的最新纪元。您可以将该值与Ndb_slave_max_replicated_epoch;如果Ndb_slave_max_replicated_epoch大于Ndb_conflict_last_conflict_epoch,则尚未检测到冲突。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_reflected_op_discard_count

      使用NDB群集复制冲突解决方案时,这是由于在执行过程中遇到错误而未应用到辅助数据库的反射操作数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_reflected_op_prepare_count

      在NDB群集复制中使用冲突解决方案时,此状态变量包含已定义(即准备在辅助数据库上执行)的反射操作数。

      请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_refresh_op_count

      在NDB群集复制中使用冲突解决方案时,这提供了准备在辅助数据库上执行的刷新操作的数量。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_last_stable_epoch

      事务冲突功能发现存在冲突的行数

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_trans_row_conflict_count

      此状态变量用在NDB群集复制冲突解决中,显示自上次重启以来,事务冲突函数在给定mysqld上发现直接冲突的行数。

      当前,NDB Cluster支持的唯一事务冲突检测功能是NDB $ EPOCH_TRANS(),因此此状态变量实际上与相同Ndb_conflict_fn_epoch_trans

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_trans_row_reject_count

      在NDB群集复制冲突解决中使用的此状态变量显示由于事务性冲突检测功能确定为冲突而导致重新对齐的总行数。这不仅包括Ndb_conflict_trans_row_conflict_count,还包括冲突事务中或依赖冲突事务的任何行。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_trans_reject_count

      此状态变量用于NDB群集复制冲突解决中,显示通过事务冲突检测功能发现冲突的事务数。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_trans_detect_iter_count

      在NDB群集复制冲突解决中使用,它显示提交纪元事务所需的内部迭代数。应该(略)大于或等于Ndb_conflict_trans_conflict_commit_count

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_conflict_trans_conflict_commit_count

      在NDB群集复制冲突解决中使用,它显示需要事务冲突处理后提交的纪元事务的数量。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_epoch_delete_delete_count

      当使用删除/删除冲突检测时,这是检测到的删除-删除冲突的数量,在其中应用了删除操作,但指示的行不存在。

    • Ndb_execute_count

      提供NDB操作进行的到内核的往返次数。

    • Ndb_last_commit_epoch_server

      最近提交的纪元NDB

    • Ndb_last_commit_epoch_session

      NDB客户最近提交的纪元。

    • Ndb_metadata_blacklist_size

      自上次重新启动以来,NDB binlog线程已无法在此SQL节点上同步的元数据对象数。

      如果某个对象被列入黑名单,则在用户手动纠正不匹配之前,不会再次考虑该对象进行自动同步。这可以通过尝试使用该表的声明,如来完成,或将触发表发现任何其他声明。SHOW CREATE TABLE tableSELECT * FROM table

      在NDB 8.0.18中添加。

    • Ndb_metadata_detected_count

      自上次启动该服务器以来,NDB元数据更改检测线程发现有关MySQL数据字典的更改的次数。

      在NDB 8.0.16中添加。

    • Ndb_metadata_synced_count

      自上次重新启动以来,在此SQL节点上已同步的NDB元数据对象的数量。

      在NDB 8.0.18中添加。

    • Ndb_number_of_data_nodes

      如果服务器是NDB群集的一部分,则此变量的值为群集中数据节点的数量。

      如果服务器不属于NDB群集,则此变量的值为0。

    • Ndb_pushed_queries_defined

      向下推到NDB内核以在数据节点上进行分布式处理的联接总数。

      注意

      EXPLAIN可使用下推的经过测试的联接有助于此数字。

    • Ndb_pushed_queries_dropped

      向下推送到NDB内核但在那里无法处理的联接数。

    • Ndb_pushed_queries_executed

      成功向下推NDB并在此处执行的连接数。

    • Ndb_pushed_reads

      通过按下的连接从NDB内核返回到mysqld的行数。

      注意

      EXPLAIN在可以向下推的联接上执行NDB不会增加该数字。

    • Ndb_pruned_scan_count

      此变量保存NDBCLUSTER自NDB群集上次启动以来NDBCLUSTER能够使用分区修剪的执行扫描次数。

      将此变量与变量一起使用Ndb_scan_count可以在架构设计中最大程度地提高服务器将扫描修剪到单个表分区的能力,从而仅涉及单个数据节点。

    • Ndb_scan_count

      此变量保存NDBCLUSTER自上次启动NDB群集以来执行的扫描总数。

    • Ndb_slave_max_replicated_epoch

      此奴隶上最近提交的纪元。您可以将该值与Ndb_conflict_last_conflict_epoch;如果Ndb_slave_max_replicated_epoch两者中的较大者,则尚未检测到冲突。

      有关更多信息,请参见“ NDB群集复制冲突解决”。

    • Ndb_system_name

      如果此MySQL服务器已连接到NDB群集,则此只读变量将显示群集系统名称。否则,该值为空字符串。

    • Ndb_trans_hint_count_session

      在当前会话中已经开始的使用提示的事务处理数。比较Ndb_api_trans_start_count_session以获得能够使用提示的所有NDB事务的比例。在NDB 8.0.17中添加。