本节提供有关特定于 NDB Cluster 的 MySQL 服务器选项、服务器和状态变量的信息。有关使用这些的一般信息,以及不特定于 NDB Cluster 的其他选项和变量,请参阅第 5.1 节,“MySQL 服务器”。
对于集群配置文件中使用的 NDB Cluster 配置参数(通常名为config.ini
),请参阅第 21.4 节,“NDB Cluster 的配置”。
本节提供 与 NDB Cluster 相关的mysqld服务器选项的描述。有关 不特定于 NDB Cluster 的 mysqld选项的信息,以及有关使用mysqld选项的一般信息,请参阅第 5.1.6 节,“服务器命令选项”。
有关与其他 NDB Cluster 进程一起使用的命令行选项的信息,请参阅第 21.5 节,“NDB Cluster 程序”。
-
命令行格式 --ndbcluster[=value]
被禁用 skip-ndbcluster
类型 布尔值 默认值 OFF
NDBCLUSTER
存储引擎是使用 NDB Cluster 所必需的 。如果 mysqld二进制文件包含对NDBCLUSTER
存储引擎的支持,则默认情况下禁用该引擎。使用该--ndbcluster
选项启用它。用于--skip-ndbcluster
明确禁用引擎。没有必要也不希望将此选项与 一起使用
--initialize
。从 NDB 7.5.4 开始,如果也使用--ndbcluster
则忽略(并且未启用NDB
存储引擎 )。(漏洞 #81689,漏洞 #23518923)--initialize
--ndb-allow-copying-alter-table=[ON|OFF]
命令行格式 --ndb-allow-copying-alter-table[={OFF|ON}]
介绍 5.7.10-ndb-7.5.0 系统变量 ndb_allow_copying_alter_table
范围 全局,会话 动态的 是的 类型 布尔值 默认值 ON
Let和其他 DDL 语句在 表
ALTER TABLE
上使用复制操作。NDB
设置为OFF
防止这种情况发生;这样做可能会提高关键应用程序的性能。-
命令行格式 --ndb-batch-size
系统变量 ndb_batch_size
范围 全球的 动态的 不 类型 整数 默认值 32768
最小值 0
最大值(≥ 5.7.37-ndb-7.6.22) 2147483648
最大值(≥ 5.7.37-ndb-7.5.26) 2147483648
最大值(≤ 5.7.37-ndb-7.5.25) 31536000
最大值(≤ 5.7.37-ndb-7.6.21) 31536000
最大值 31536000
单元 字节 这设置用于 NDB 事务批处理的大小(以字节为单位)。
--ndb-cluster-connection-pool=
#
命令行格式 --ndb-cluster-connection-pool
系统变量 ndb_cluster_connection_pool
系统变量 ndb_cluster_connection_pool
范围 全球的 范围 全球的 动态的 不 动态的 不 类型 整数 默认值 1
最小值 1
最大值 63
通过将此选项设置为大于 1(默认值)的值,mysqld进程可以使用到集群的多个连接,有效地模拟多个 SQL 节点。 每个连接都需要在集群配置 ( ) 文件中有自己的
[api]
或部分,并计入集群支持的最大 API 连接数。[mysqld]
config.ini
假设您有 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
介绍 5.7.10-ndb-7.5.0 系统变量(≥ 5.7.10-ndb-7.5.0) ndb_cluster_connection_pool_nodeids
范围(≥ 5.7.10-ndb-7.5.0) 全球的 动态(≥ 5.7.10-ndb-7.5.0) 不 类型 放 默认值 指定以逗号分隔的节点 ID 列表,用于连接到 SQL 节点使用的集群。此列表中的节点数必须与为该
--ndb-cluster-connection-pool
选项设置的值相同。--ndb-cluster-connection-pool-nodeids
在 NDB 7.5.0 中添加。--ndb-blob-read-batch-bytes=
bytes
命令行格式 --ndb-blob-read-batch-bytes
系统变量 ndb_blob_read_batch_bytes
范围 全局,会话 动态的 是的 类型 整数 默认值 65536
最小值 0
最大值 4294967295
此选项可用于设置
BLOB
NDB 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
范围 全局,会话 动态的 是的 类型 整数 默认值 65536
最小值 0
最大值 4294967295
单元 字节 此选项可用于设置
BLOB
NDB Cluster 应用程序中数据写入批处理的大小(以字节为单位)。BLOB
当当前事务中要写入 的数据量超过此批大小时,BLOB
将立即执行任何挂起的写入操作。此选项的最大值为 4294967295;默认值为 65536。将其设置为 0 具有禁用
BLOB
写入批处理的效果。笔记在 NDB API 应用程序中,您可以 使用 和 方法 控制
BLOB
写入批处理 。setMaxPendingBlobWriteBytes()
getMaxPendingBlobWriteBytes()
--ndb-connectstring=
connection_string
命令行格式 --ndb-connectstring
类型 细绳 使用
NDBCLUSTER
存储引擎时,该选项指定分发集群配置数据的管理服务器。有关语法,请参阅 第 21.4.3.3 节,“NDB Cluster 连接字符串”。--ndb-default-column-format=[FIXED|DYNAMIC]
命令行格式 --ndb-default-column-format={FIXED|DYNAMIC}
介绍 5.7.11-ndb-7.5.1 系统变量 ndb_default_column_format
范围 全球的 动态的 是的 类型 枚举 默认值(≥ 5.7.16-ndb-7.5.4) FIXED
默认值(≥ 5.7.11-ndb-7.5.1,≤ 5.7.13-ndb-7.5.3) DYNAMIC
有效值 FIXED
DYNAMIC
在 NDB 7.5.1 及更高版本中, 为新表 设置默认值
COLUMN_FORMAT
和 (请参阅第 13.1.18 节,“CREATE TABLE 语句”)。ROW_FORMAT
在 NDB 7.5.1 中,此选项的默认值为
DYNAMIC
;在 NDB 7.5.4 中,默认值更改为FIXED
以保持与旧版本系列的向后兼容性(错误 #24487363)。--ndb-deferred-constraints=[0|1]
命令行格式 --ndb-deferred-constraints
系统变量 ndb_deferred_constraints
范围 全局,会话 动态的 是的 类型 整数 默认值 0
最小值 0
最大值 1
控制是否将对唯一索引的约束检查推迟到支持此类检查的提交时间。
0
是默认值。NDB Cluster 或 NDB Cluster Replication 的操作通常不需要此选项,主要用于测试。
--ndb-distribution=[KEYHASH|LINHASH]
命令行格式 --ndb-distribution={KEYHASH|LINHASH}
系统变量 ndb_distribution
范围 全球的 动态的 是的 类型 枚举 默认值 KEYHASH
有效值 LINHASH
KEYHASH
控制表的默认分布方法
NDB
。可以设置为KEYHASH
(密钥散列)或LINHASH
(线性散列)之一。KEYHASH
是默认值。-
命令行格式 --ndb-log-apply-status[={OFF|ON}]
系统变量 ndb_log_apply_status
范围 全球的 动态的 不 类型 布尔值 默认值 OFF
使副本mysqld
mysql.ndb_apply_status
使用它自己的服务器 ID 而不是源的服务器 ID将从其直接源接收到的任何更新记录到它自己的二进制日志中的 表中。在循环或链式复制设置中,这允许此类更新传播到mysql.ndb_apply_status
配置为当前 mysqld副本的任何 MySQL 服务器的表。在链复制设置中,使用此选项允许下游(副本)集群了解它们相对于所有上游贡献者(源)的位置。
在循环复制设置中,此选项会导致对
ndb_apply_status
表的更改以完成整个电路,最终传播回原始 NDB Cluster。这也允许充当源的集群查看其更改(时代)何时已应用于圈中的其他集群。除非使用该选项启动 MySQL 服务器,否则此选项无效
--ndbcluster
。 --ndb-log-empty-epochs=[ON|OFF]
命令行格式 --ndb-log-empty-epochs[={OFF|ON}]
系统变量 ndb_log_empty_epochs
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
导致没有更改被写入
ndb_apply_status
和ndb_binlog_index
表的时期,即使log_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
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
当启用 when 时 ,导致未产生任何更改的更新被写入
ndb_apply_status
和 表。ndb_binlog_index
log_slave_updates
默认情况下禁用此选项 (
OFF
)。禁用--ndb-log-empty-update
会导致没有更改的更新不会写入二进制日志。--ndb-log-exclusive-reads=[0|1]
命令行格式 --ndb-log-exclusive-reads[={OFF|ON}]
系统变量 ndb_log_exclusive_reads
范围 全局,会话 动态的 是的 类型 布尔值 默认值 0
使用此选项启动服务器会导致使用独占锁记录主键读取,这允许基于读取冲突进行 NDB Cluster 复制冲突检测和解决。您还可以在运行时通过将
ndb_log_exclusive_reads
系统变量的值分别设置为 1 或 0 来启用和禁用这些锁。0(禁用锁定)是默认值。有关详细信息,请参阅 读取冲突检测和解决。
-
命令行格式 --ndb-log-fail-terminate
介绍 5.7.29-ndb-7.6.14 系统变量 ndb_log_fail_terminate
范围 全球的 动态的 不 类型 布尔值 默认值 FALSE
当指定此选项时,并且不可能完整记录所有找到的行事件, mysqld进程将终止。
-
命令行格式 --ndb-log-orig[={OFF|ON}]
系统变量 ndb_log_orig
范围 全球的 动态的 不 类型 布尔值 默认值 OFF
在表中记录原始服务器 ID 和纪元
ndb_binlog_index
。笔记这使得给定纪元在 中有多行成为可能
ndb_binlog_index
,每个原始纪元对应一行。有关更多信息,请参阅 第 21.7.4 节,“NDB Cluster 复制模式和表”。
-
命令行格式 --ndb-log-transaction-id[={OFF|ON}]
系统变量 ndb_log_transaction_id
范围 全球的 动态的 不 类型 布尔值 默认值 OFF
导致副本mysqld在二进制日志的每一行中写入 NDB 事务 ID。此类日志记录需要使用二进制日志的版本 2 事件格式;因此,
log_bin_use_v1_row_events
必须禁用系统变量才能使用此选项。主线 MySQL Server 5.7 不支持此选项。需要使用
NDB$EPOCH_TRANS()
函数启用 NDB Cluster 复制冲突检测和解决(请参阅 NDB$EPOCH_TRANS())。默认值为
FALSE
。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
-
命令行格式 --ndb-log-update-as-write[={OFF|ON}]
系统变量 ndb_log_update_as_write
范围 全球的 动态的 是的 类型 布尔值 默认值 ON
源上的更新是作为更新 (
OFF
) 还是写入 (ON
) 写入二进制日志。启用此选项--ndb-log-update-as-write
并--ndb-log-update-minimal
禁用 和 时,将按以下列表中的说明放置不同类型的操作:INSERT
: 记录为WRITE_ROW
没有前像的事件;后图像与所有列一起记录。UPDATE
: 记录为WRITE_ROW
没有前像的事件;后图像与所有列一起记录。DELETE
:记录为DELETE_ROW
事件,所有列都记录在前图中;未记录后像。
此选项可与前面提到的其他两个 NDB 日志记录选项结合用于 NDB 复制冲突解决;有关详细信息,请参阅 ndb_replication 表。
-
命令行格式 --ndb-log-updated-only[={OFF|ON}]
系统变量 ndb_log_updated_only
范围 全球的 动态的 是的 类型 布尔值 默认值 ON
mysqld是将完整行 ( ) 写入二进制日志 还是
ON
仅更新 ( )。OFF
启用此选项--ndb-log-update-as-write
并--ndb-log-update-minimal
禁用 和 时,将按以下列表中的说明放置不同类型的操作INSERT
: 记录为WRITE_ROW
没有前像的事件;后图像与所有列一起记录。UPDATE
:记录为UPDATE_ROW
具有主键列的事件,并且更新的列出现在前后图像中。DELETE
:记录为DELETE_ROW
事件,主键列包含在前图中;未记录后像。
此选项可与前面提到的其他两个 NDB 日志记录选项结合用于 NDB 复制冲突解决;有关这些选项如何相互交互的更多信息, 请参阅 ndb_replication Table 。
-
命令行格式 --ndb-log-update-minimal[={OFF|ON}]
介绍 5.7.18-ndb-7.6.3 系统变量 ndb_log_update_minimal
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
以最小的方式记录更新,只在前映像中写入主键值,在后映像中仅写入更改的列。如果复制到 . 以外的存储引擎,这可能会导致兼容性问题
NDB
。启用此选项--ndb-log-updated-only
并--ndb-log-update-as-write
禁用 和 时,将按以下列表中的说明放置不同类型的操作:INSERT
: 记录为WRITE_ROW
没有前像的事件;后图像与所有列一起记录。UPDATE
:记录为UPDATE_ROW
前图中具有主键列的事件;除主键列外的所有列 都记录在后映像中。DELETE
:记录为一个DELETE_ROW
事件,所有列都在前图中;未记录后像。
此选项可与前面提到的其他两个 NDB 日志记录选项结合用于 NDB 复制冲突解决;有关详细信息,请参阅 ndb_replication 表。
-
命令行格式 --ndb-mgmd-host=host_name[:port_num]
类型 细绳 默认值 localhost:1186
可用于设置程序连接到的单个管理服务器的主机和端口号。如果程序在其连接信息中需要节点 ID 或对多个管理服务器(或两者)的引用,请改用该
--ndb-connectstring
选项。 -
命令行格式 --ndb-nodeid=#
状态变量 Ndb_cluster_node_id
范围 全球的 动态的 不 类型 整数 默认值 N/A
最小值 1
最大值 255
最大值 63
在 NDB Cluster 中设置此 MySQL 服务器的节点 ID。
无论这两个选项的使用顺序如何, 该
--ndb-nodeid
选项都会覆盖使用 设置的任何节点 ID 。--ndb-connectstring
此外,如果
--ndb-nodeid
使用 ,则必须在 的 a[mysqld]
或[api]
部分中找到匹配的节点 IDconfig.ini
,或者文件中必须有一个“打开”[mysqld]
或[api]
部分(即没有指定NodeId
orId
参数的部分)。如果将节点 ID 指定为连接字符串的一部分,也是如此。无论节点 ID 如何确定,它在 的输出中显示为全局状态变量的值
Ndb_cluster_node_id
,SHOW STATUS
并cluster_node_id
在 的connection
输出行中显示SHOW ENGINE NDBCLUSTER STATUS
。有关 NDB Cluster SQL 节点的节点 ID 的更多信息,请参阅第 21.4.3.7 节,“在 NDB Cluster 中定义 SQL 和其他 API 节点”。
--ndb-optimization-delay=
milliseconds
命令行格式 --ndb-optimization-delay=#
系统变量 ndb_optimization_delay
范围 全球的 动态的 是的 类型 整数 默认值 10
最小值 0
最大值 100000
单元 毫秒 OPTIMIZE TABLE
通过表上的语句 设置行集之间等待的毫秒数NDB
。默认值为 10。--ndb-optimized-node-selection
命令行格式 --ndb-optimized-node-selection
为交易节点的选择启用优化。默认启用;用于
--skip-ndb-optimized-node-selection
禁用。--ndb-transid-mysql-connection-map=
state
命令行格式 --ndb-transid-mysql-connection-map[=state]
类型 枚举 默认值 ON
有效值 ON
OFF
FORCE
启用或禁用处理 数据库
ndb_transid_mysql_connection_map
中表的插件INFORMATION_SCHEMA
。采用值ON
、OFF
或之一FORCE
。ON
(默认)启用插件。OFF
禁用插件,这使得ndb_transid_mysql_connection_map
无法访问。FORCE
如果插件无法加载和启动,则阻止 MySQL 服务器启动。您可以
ndb_transid_mysql_connection_map
通过检查 的输出来查看表插件是否正在运行SHOW PLUGINS
。-
命令行格式 --ndb-wait-connected=#
系统变量 ndb_wait_connected
范围 全球的 动态的 不 类型 整数 默认值 30
最小值 0
最大值 31536000
单元 秒 此选项设置 MySQL 服务器在接受 MySQL 客户端连接之前等待建立与 NDB Cluster 管理和数据节点的连接的时间。时间以秒为单位指定。默认值为
30
。 -
命令行格式 --ndb-wait-setup=#
系统变量 ndb_wait_setup
范围 全球的 动态的 不 类型 整数 默认值 30
默认值 30
默认值 15
默认值 15
最小值 0
最大值 31536000
单元 秒 此变量显示 MySQL 服务器
NDB
在超时并NDB
视为不可用之前等待存储引擎完成设置的时间段。时间以秒为单位指定。默认值为30
。 -
命令行格式 --skip-ndbcluster
禁用
NDBCLUSTER
存储引擎。这是使用NDBCLUSTER
存储引擎支持构建的二进制文件的默认设置;--ndbcluster
仅当明确给出选项时,服务器才会为此存储引擎分配内存和其他资源 。有关示例,请参见第 21.4.1 节,“NDB Cluster 的快速测试设置”。
NDB
本节提供有关特定于 NDB Cluster 和存储引擎
的 MySQL 服务器系统变量的详细信息
。对于不特定于 NDB Cluster 的系统变量,请参阅
第 5.1.7 节,“服务器系统变量”。有关使用系统变量的一般信息,请参阅
第 5.1.8 节,“使用系统变量”。
-
命令行格式 --ndb-autoincrement-prefetch-sz=#
系统变量 ndb_autoincrement_prefetch_sz
范围 全局,会话 动态的 是的 类型 整数 默认值 1
最小值 1
最大值 65536
确定自动增量列中出现间隙的概率。将其设置
1
为最小化。将其设置为较高的优化值会使插入速度更快,但会降低在一批插入中使用连续自动增量数字的可能性。该变量仅影响
AUTO_INCREMENT
在语句之间获取的 ID 数量;在给定的语句中,一次至少获得 32 个 ID。重要的此变量不影响使用 执行的插入
INSERT ... SELECT
。 -
命令行格式 --ndb-cache-check-time=#
弃用 5.7.20 系统变量 ndb_cache_check_time
范围 全球的 动态的 是的 类型 整数 默认值 0
最小值 0
最大值 31536000
单元 毫秒 MySQL 查询缓存检查 NDB Cluster SQL 节点之间经过的毫秒数。将此设置为 0(默认值和最小值)意味着查询缓存会检查每个查询的有效性。
此变量的建议最大值为 1000,这意味着每秒执行一次检查。较大的值意味着执行检查并可能因不同 SQL 节点上的更新而失效的频率较低。通常不希望将其设置为大于 2000 的值。
笔记查询缓存从 MySQL 5.7.20 开始弃用,并在 MySQL 8.0 中删除。弃用包括
ndb_cache_check_time
. -
命令行格式 --ndb-clear-apply-status[={OFF|ON}]
系统变量 ndb_clear_apply_status
范围 全球的 动态的 是的 类型 布尔值 默认值 ON
默认情况下,执行
RESET SLAVE
会导致 NDB Cluster 副本从其ndb_apply_status
表中清除所有行。您可以通过设置禁用此功能ndb_clear_apply_status=OFF
。 -
命令行格式 --ndb-data-node-neighbour=#
介绍 5.7.12-ndb-7.5.2 系统变量 ndb_data_node_neighbour
范围 全球的 动态的 是的 类型 整数 默认值 0
最小值 0
最大值 255
设置“最近”数据节点的 ID——也就是说,选择一个首选的非本地数据节点来执行事务,而不是在与 SQL 或 API 节点相同的主机上运行的数据节点。这用于确保在访问完全复制的表时,我们在该数据节点上访问它,以确保始终尽可能使用表的本地副本。这也可以用于为交易提供提示。
在物理上比同一主机上的其他节点更近并因此具有比其他节点更高的网络吞吐量的节点的情况下,这可以改进数据访问时间。
有关详细信息,请参阅第 13.1.18.9 节,“设置 NDB 注释选项”。
在 NDB 7.5.2 中添加。
笔记提供了一个等效的方法
set_data_node_neighbour()
用于 NDB API 应用程序。 -
命令行格式 --ndb-default-column-format={FIXED|DYNAMIC}
介绍 5.7.11-ndb-7.5.1 系统变量 ndb_default_column_format
范围 全球的 动态的 是的 类型 枚举 默认值(≥ 5.7.16-ndb-7.5.4) FIXED
默认值(≥ 5.7.11-ndb-7.5.1,≤ 5.7.13-ndb-7.5.3) DYNAMIC
有效值 FIXED
DYNAMIC
在 NDB 7.5.1 及更高版本中, 为新表 设置默认值
COLUMN_FORMAT
和 (请参阅第 13.1.18 节,“CREATE TABLE 语句”)。ROW_FORMAT
在 NDB 7.5.1 中,此变量的默认值为
DYNAMIC
;在 NDB 7.5.4 中,默认值更改为FIXED
以保持与旧版本系列的向后兼容性(错误 #24487363)。 -
命令行格式 --ndb-deferred-constraints=#
系统变量 ndb_deferred_constraints
范围 全局,会话 动态的 是的 类型 整数 默认值 0
最小值 0
最大值 1
控制是否延迟约束检查,如果支持的话。
0
是默认值。NDB Cluster 或 NDB Cluster Replication 的操作通常不需要此变量,主要用于测试。
-
命令行格式 --ndb-distribution={KEYHASH|LINHASH}
系统变量 ndb_distribution
范围 全球的 动态的 是的 类型 枚举 默认值 KEYHASH
有效值 LINHASH
KEYHASH
控制表的默认分布方法
NDB
。可以设置为KEYHASH
(密钥散列)或LINHASH
(线性散列)之一。KEYHASH
是默认值。 -
命令行格式 --ndb-eventbuffer-free-percent=#
系统变量 ndb_eventbuffer_free_percent
范围 全球的 动态的 是的 类型 整数 默认值 20
最小值 1
最大值 99
设置分配给事件缓冲区 (ndb_eventbuffer_max_alloc) 的最大内存的百分比,该百分比在达到最大值后应该在事件缓冲区中可用,然后再开始缓冲。
-
命令行格式 --ndb-eventbuffer-max-alloc=#
系统变量 ndb_eventbuffer_max_alloc
范围 全球的 动态的 是的 类型 整数 默认值 0
最小值 0
最大值(≥ 5.7.35-ndb-7.6.19) 9223372036854775807
最大值 (≥ 5.7.35-ndb-7.5.23) 9223372036854775807
最大值(≤ 5.7.34-ndb-7.5.22) 4294967295
最大值(≤ 5.7.34-ndb-7.6.18) 4294967295
最大值 4294967295
设置 NDB API 可以为缓冲事件分配的最大内存量(以字节为单位)。0 表示不施加限制,并且是默认值。
-
命令行格式 ndb_extra_logging=#
系统变量 ndb_extra_logging
范围 全球的 动态的 是的 类型 整数 默认值 1
最小值 0
最大值 1
该变量允许在 MySQL 错误日志中记录特定于
NDB
存储引擎的信息。当此变量设置为 0 时,
NDB
写入 MySQL 错误日志的唯一特定信息与事务处理有关。如果它设置为大于 0 但小于 10 的值,NDB
还会记录表架构和连接事件,以及是否正在使用冲突解决以及其他NDB
错误和信息。如果该值设置为 10 或更大,有关NDB
内部信息,例如集群节点之间的数据分发进度,也会写入 MySQL 错误日志。默认值为 1。 -
命令行格式 --ndb-force-send[={OFF|ON}]
系统变量 ndb_force_send
范围 全局,会话 动态的 是的 类型 布尔值 默认值 ON
强制
NDB
立即发送缓冲区,而不等待其他线程。默认为ON
. -
命令行格式 --ndb-fully-replicated[={OFF|ON}]
介绍 5.7.12-ndb-7.5.2 系统变量 ndb_fully_replicated
范围 全局,会话 动态的 是的 类型 布尔值 默认值 OFF
确定新
NDB
表是否已完全复制。可以COMMENT="NDB_TABLE=FULLY_REPLICATED=..."
在CREATE TABLE
orALTER TABLE
语句中为单个表覆盖此设置;有关语法和其他信息, 请参阅 第 13.1.18.9 节,“设置 NDB 注释选项” 。在 NDB 7.5.2 中添加。
-
命令行格式 --ndb-index-stat-enable[={OFF|ON}]
系统变量 ndb_index_stat_enable
范围 全局,会话 动态的 是的 类型 布尔值 默认值 ON
在查询优化中使用
NDB
索引统计信息。默认值为ON
。 -
命令行格式 --ndb-index-stat-option=value
系统变量 ndb_index_stat_option
范围 全局,会话 动态的 是的 类型 细绳 默认值 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
;不能使用 、 或 指定毫秒值h
。m
)s
整数值可以 使用K
、M
或 作为后缀G
。可以使用此变量设置的选项的名称显示在下表中。该表还提供了选项的简要说明、它们的默认值以及(如果适用)它们的最小值和最大值。
表 21.18 ndb_index_stat_option 选项和值
姓名 描述 默认/单位 最小值/最大值 loop_enable
1000 毫秒 0/4G loop_idle
空闲时的睡眠时间 1000 毫秒 0/4G loop_busy
等待更多工作时该睡觉了 100 毫秒 0/4G update_batch
1个 0/4G read_batch
4个 1/4G idle_batch
32 1/4G check_batch
8个 1/4G check_delay
检查新统计数据的频率 10米 1/4G delete_batch
8个 0/4G clean_delay
1米 0/4G error_batch
4个 1/4G error_delay
1米 1/4G evict_batch
8个 1/4G evict_delay
清理 LRU 缓存,从读时开始 1米 0/4G cache_limit
此mysqld用于缓存索引统计的最大内存量(以字节为单位);超过时清理缓存。 32 米 0/4G cache_lowpct
90后 0/100 zero_total
将此设置为 1 会将所有累积计数器重置 ndb_index_stat_status
为 0。完成此操作后,此选项值也会重置为 0。0 0/1 -
系统变量 ndb_join_pushdown
范围 全局,会话 动态的 是的 类型 布尔值 默认值 ON
此变量控制是否将
NDB
表上的连接下推到 NDB 内核(数据节点)。以前,连接是NDB
由 SQL 节点使用多个访问来处理的;但是,当ndb_join_pushdown
启用时,可推送连接将完整发送到数据节点,在那里它可以分布在数据节点之间并在数据的多个副本上并行执行,并将单个合并结果返回到mysqld。这可以大大减少处理此类连接所需的 SQL 节点和数据节点之间的往返次数。默认情况下,
ndb_join_pushdown
启用。NDB 下推连接的条件。 为了使连接可推送,它必须满足以下条件:
只能比较列,所有要连接的列必须使用完全相同的数据类型。
这意味着不能下推 诸如 之类的表达式,并且(例如)列和 列上的连接也不能下推。
t1.a = t2.a +
constant
INT
BIGINT
不支持显式锁定;然而,
NDB
存储引擎的特征隐式基于行的锁定是强制执行的。这意味着
FOR UPDATE
无法下推连接 using。为了向下推送连接,必须使用 、 或 访问方法之一或这些方法的某种组合来访问连接中的
ref
子eq_ref
表const
。只能使用 推送外部连接的子表
eq_ref
。如果推送连接的根是
eq_ref
or ,则只能 追加const
连接的子表。eq_ref
(连接的表ref
很可能成为另一个推送连接的根。)如果查询优化器决定
Using join cache
使用候选子表,则该表不能作为子表推送。但是,它可能是另一组推送表的根。联接引用表显式分区由
[LINEAR] HASH
,LIST
或RANGE
当前无法下推。
您可以通过检查是否可以下推给定的连接
EXPLAIN
;当可以下推连接时,您可以 在输出pushed join
的Extra
列中看到对 的引用,如本例所示: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
, 并且结果按排序索引排序或分组,则该索引无法提供排序的行,这会强制写入排序的临时文件。有两个关于推送连接性能的额外信息来源:
-
命令行格式 --ndb-log-apply-status[={OFF|ON}]
系统变量 ndb_log_apply_status
范围 全球的 动态的 不 类型 布尔值 默认值 OFF
一个只读变量,显示服务器是否使用该
--ndb-log-apply-status
选项启动。 -
命令行格式 --ndb-log-bin[={OFF|ON}]
系统变量 ndb_log_bin
范围 全局,会话 动态的 不 类型 布尔值 默认值 ON
导致将
NDB
表更新写入二进制日志。如果尚未为使用 的服务器启用二进制日志记录,则设置此变量无效log_bin
。ndb_log_bin
默认为 1(开启);通常,从不需要在生产环境中更改此值。 -
命令行格式 --ndb-log-binlog-index[={OFF|ON}]
系统变量 ndb_log_binlog_index
范围 全球的 动态的 是的 类型 布尔值 默认值 ON
导致纪元到二进制日志中位置的映射被插入到
ndb_binlog_index
表中。如果尚未为使用 的服务器启用二进制日志记录,则设置此变量无效log_bin
。(此外,ndb_log_bin
不得禁用。)ndb_log_binlog_index
默认为1
(ON
); 通常,从不需要在生产环境中更改此值。 -
命令行格式 --ndb-log-empty-epochs[={OFF|ON}]
系统变量 ndb_log_empty_epochs
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
当此变量设置为 0 时,没有更改的纪元事务不会写入二进制日志,尽管即使对于空纪元仍会写入一行
ndb_binlog_index
。 -
命令行格式 --ndb-log-empty-update[={OFF|ON}]
系统变量 ndb_log_empty_update
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
当此变量设置为
ON
(1
) 时,没有更改的更新事务将写入二进制日志,即使log_slave_updates
已启用也是如此。 -
命令行格式 --ndb-log-exclusive-reads[={OFF|ON}]
系统变量 ndb_log_exclusive_reads
范围 全局,会话 动态的 是的 类型 布尔值 默认值 0
此变量确定是否使用独占锁记录主键读取,这允许基于读取冲突进行 NDB Cluster 复制冲突检测和解决。要启用这些锁定,请将 的值设置
ndb_log_exclusive_reads
为 1。默认值为 0,即禁用此类锁定。有关详细信息,请参阅 读取冲突检测和解决。
-
命令行格式 --ndb-log-orig[={OFF|ON}]
系统变量 ndb_log_orig
范围 全球的 动态的 不 类型 布尔值 默认值 OFF
显示原始服务器 ID 和纪元是否记录在
ndb_binlog_index
表中。使用--ndb-log-orig
服务器选项设置。 -
系统变量 ndb_log_transaction_id
范围 全球的 动态的 不 类型 布尔值 默认值 OFF
这个只读的布尔系统变量显示副本mysqld是否在二进制日志中写入 NDB 事务 ID(需要使用 “主动-主动” NDB Cluster Replication 和
NDB$EPOCH_TRANS()
冲突检测)。要更改设置,请使用该--ndb-log-transaction-id
选项。ndb_log_transaction_id
主线 MySQL Server 5.7 不支持。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
-
命令行格式 --ndb-optimized-node-selection=#
系统变量 ndb_optimized_node_selection
范围 全球的 动态的 不 类型 整数 默认值 3
最小值 0
最大值 3
优化节点选择有两种形式,如下所述:
SQL节点使用 promixity来确定事务协调器;也就是说,选择 离SQL 节点“最近”的数据节点作为事务协调器。为此,与SQL节点有共享内存连接的数据节点被认为是离SQL节点“最近”的;下一个最接近的(按接近程度递减的顺序)是:到
localhost
的 TCP 连接,然后是来自除 以外的主机的 TCP 连接localhost
。SQL 线程使用 分布感知来选择数据节点。也就是说,包含由给定事务的第一条语句访问的集群分区的数据节点用作整个事务的事务协调器。(这仅在事务的第一条语句访问不超过一个集群分区时才有效。)
此选项采用整数值
0
、1
、2
或之一3
。3
是默认值。这些值影响节点选择如下:0
: 节点选择未优化。在 SQL 线程继续到下一个数据节点之前,每个数据节点被用作事务协调器 8 次。1
:与 SQL 节点的接近程度用于确定事务协调器。2
:分布感知用于选择事务协调器。但是,如果事务的第一条语句访问多个集群分区,SQL 节点将恢复到此选项设置为时看到的循环行为0
。3
:如果可以利用分布感知来确定事务协调器,则使用它;否则接近度用于选择事务协调器。(这是默认行为。)
邻近度确定如下:
从为参数设置的值开始
Group
(默认 55)。对于与其他 API 节点共享同一主机的 API 节点,将值减 1。假设为默认值
Group
,与 API 节点位于同一主机上的数据节点的有效值为 54,而远程数据节点为 55。( NDB 7.5.2 及更高版本:)设置
ndb_data_node_neighbour
将有效值进一步减少Group
50,使该节点被视为最近的节点。仅当所有数据节点都位于托管 API 节点以外的主机上并且希望将其中一个节点专用于 API 节点时才需要这样做。在正常情况下,前面描述的默认调整就足够了。
频繁更改 in
ndb_data_node_neighbour
是不可取的,因为这会改变集群连接的状态,因此可能会破坏每个线程对新事务的选择算法,直到它稳定为止。 -
命令行格式 --ndb-read-backup[={OFF|ON}]
介绍 5.7.12-ndb-7.5.2 系统变量 ndb_read_backup
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
NDB
为随后创建 的任何表启用从任何片段副本读取 ;这样做以相对较小的写入成本极大地提高了表读取性能。如果 SQL 节点和数据节点使用相同的主机名或 IP 地址,则会自动检测到这一事实,因此优先将读取发送到同一主机。如果这些节点在同一台主机上但使用不同的 IP 地址,您可以通过将 SQL 节点
ndb_data_node_neighbour
上的值设置为数据节点的节点 ID 来告诉 SQL 节点使用正确的数据节点。要为单个表启用或禁用从任何片段副本读取,您可以在 or语句中相应地为表设置
NDB_TABLE
选项;有关详细信息,请参阅 第 13.1.18.9 节,“设置 NDB 注释选项”。READ_BACKUP
CREATE TABLE
ALTER TABLE
在 NDB 7.5.2 中添加。
ndb_recv_thread_activation_threshold
命令行格式 --ndb-recv-thread-activation-threshold=#
系统变量 ndb_recv_thread_activation_threshold
范围 全球的 动态的 是的 类型 整数 默认值 8
最小值 0 (MIN_ACTIVATION_THRESHOLD)
最大值 16 (MAX_ACTIVATION_THRESHOLD)
当达到此并发活动线程数时,接收线程将接管集群连接的轮询。
这个变量是全局范围的。也可以在启动时设置。
-
命令行格式 --ndb-recv-thread-cpu-mask=mask
系统变量 ndb_recv_thread_cpu_mask
范围 全球的 动态的 是的 类型 位图 默认值 [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
范围 全球的 动态的 是的 类型 整数 默认值(≥ 5.7.16-ndb-7.5.4) 10
默认值(≤ 5.7.13-ndb-7.5.3) 3
最小值 0
最大值 256
在 NDB 7.5.4 及更高版本中,这表示事件缓冲区中完全缓冲但尚未被 binlog 注入器线程消耗的时期数的阈值。当超过这种程度的滑动(滞后)时,将报告事件缓冲区状态消息,并
BUFFERED_EPOCHS_OVER_THRESHOLD
提供原因(请参阅 第 21.6.2.3 节,“集群日志中的事件缓冲区报告”)。当从数据节点接收到一个纪元并完全缓冲在事件缓冲区中时,滑动会增加;当 binlog 注入器线程消耗一个纪元时,它会减少,它会减少。空时期被缓冲和排队,因此仅当使用Ndb::setEventBufferQueueEmptyEpoch()
来自 NDB API 的方法。在 NDB 7.5.4 之前,此变量的值用作报告二进制日志状态之前落后的纪元数的阈值。在这些以前的版本中,
3
默认值意味着如果从存储节点接收到的纪元与应用于二进制日志的纪元之间的差异为 3 或更多,则状态消息将发送到集群日志。ndb_report_thresh_binlog_mem_usage
命令行格式 --ndb-report-thresh-binlog-mem-usage=#
系统变量 ndb_report_thresh_binlog_mem_usage
范围 全球的 动态的 是的 类型 整数 默认值 10
最小值 0
最大值 10
这是报告二进制日志状态之前剩余可用内存百分比的阈值。例如,值
10
(默认值)表示如果用于从数据节点接收二进制日志数据的可用内存量低于 10%,则会向集群日志发送一条状态消息。-
介绍 5.7.23-ndb-7.6.8 系统变量 ndb_row_checksum
范围 全局,会话 动态的 是的 类型 整数 默认值 1
最小值 0
最大值 1
传统上,
NDB
已创建具有行校验和的表,以牺牲性能为代价来检查硬件问题。设置ndb_row_checksum
为 0 意味着行校验和不用于新的或更改的表,这对所有类型的查询的性能都有重大影响。此变量默认设置为 1,以提供向后兼容的行为。 ndb_show_foreign_key_mock_tables
命令行格式 --ndb-show-foreign-key-mock-tables[={OFF|ON}]
系统变量 ndb_show_foreign_key_mock_tables
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
显示用于
NDB
支持 的模拟表foreign_key_checks=0
。启用后,创建和删除表时会显示额外的警告。表的真实(内部)名称可以在 的输出中看到SHOW CREATE TABLE
。-
命令行格式 --ndb-slave-conflict-role=value
系统变量 ndb_slave_conflict_role
范围 全球的 动态的 是的 类型 枚举 默认值 NONE
有效值 NONE
PRIMARY
SECONDARY
PASS
确定此 SQL 节点(和 NDB Cluster)在循环(“主动-主动”)复制设置中的角色。
ndb_slave_conflict_role
可以采用值PRIMARY
、SECONDARY
、PASS
或NULL
(默认值)中的任何一个。必须先停止副本 SQL 线程,然后才能更改ndb_slave_conflict_role
。另外,不能直接在betweenPASS
and either ofPRIMARY
orSECONDARY
directly之间改变;在这种情况下,您必须确保 SQL 线程已停止,然后SET @@GLOBAL.ndb_slave_conflict_role = 'NONE'
先执行。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
-
系统变量 ndb_table_no_logging
范围 会议 动态的 是的 类型 布尔值 默认值 OFF
当此变量设置为
ON
或1
时,它会导致NDB
表不在磁盘上设置检查点。更具体地说,此设置适用于使用启用ENGINE NDB
时 创建或更改ndb_table_no_logging
的表,并在表的生命周期内继续应用,即使ndb_table_no_logging
稍后更改也是如此。假设 、A
、B
和C
是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;
在前面的事件序列之后,表
A
和B
没有检查点;A
是用创建的ENGINE NDB
,B 被更改为使用NDB
,同时ndb_table_no_logging
启用。但是,表C
和D
被记录;C
被更改为使用NDB
并使用D
创建ENGINE NDB
,两者都ndb_table_no_logging
被禁用。设置ndb_table_no_logging
回1
或ON
不会 导致表或被C
检查D
点。笔记ndb_table_no_logging
对NDB
表模式文件的创建没有影响;要抑制这些,请ndb_table_temporary
改用。 -
系统变量 ndb_table_temporary
范围 会议 动态的 是的 类型 布尔值 默认值 OFF
当设置为
ON
或1
时,此变量会导致NDB
表不写入磁盘:这意味着不会创建表架构文件,并且不会记录表。笔记设置此变量目前没有效果。这是一个已知的问题; 请参阅错误 #34036。
-
系统变量 ndb_use_copying_alter_table
范围 全局,会话 动态的 不 在线操作出现问题时 强制
NDB
使用表的复制 。ALTER TABLE
默认值为OFF
。 -
系统变量 ndb_use_exact_count
范围 全局,会话 动态的 是的 类型 布尔值 默认值 OFF
在查询计划期间强制
NDB
使用记录计数SELECT COUNT(*)
来加速此类查询。默认值为OFF
,这允许整体上更快的查询。 -
命令行格式 --ndb-use-transactions[={OFF|ON}]
系统变量 ndb_use_transactions
范围 全局,会话 动态的 是的 类型 布尔值 默认值 ON
您可以通过将此变量的值设置为 来禁用
NDB
事务支持OFF
。通常不推荐这样做,尽管当给定的客户端会话用于导入一个或多个具有大事务的转储文件时,禁用该会话中的事务支持可能很有用;这允许多行插入分部分执行,而不是作为单个事务执行。在这种情况下,导入完成后,您应该将此会话的变量值重置为ON
,或者干脆终止会话。 -
系统变量 ndb_version
范围 全球的 动态的 不 类型 细绳 默认值 NDB
引擎版本,作为复合整数。 -
系统变量 ndb_version_string
范围 全球的 动态的 不 类型 细绳 默认值 NDB
引擎版本 格式。ndb-
x.y.z
-
命令行格式 --server-id-bits=#
系统变量 server_id_bits
范围 全球的 动态的 不 类型 整数 默认值 32
最小值 7
最大值 32
server_id
此变量指示实际标识服务器 的 32 位中最低有效位的数量。表明服务器实际上是由少于 32 位标识的,这使得剩余的一些位可以用于其他目的,例如存储由应用程序使用 NDB API 的事件 API 在结构中生成的用户数据AnyValue
(OperationOptions
NDB Cluster使用AnyValue
来存储服务器 ID)。当出于检测复制循环等目的从中提取有效服务器 ID 时
server_id
,服务器会忽略剩余的位。在根据服务器 ID 决定是否应忽略事件时, 该server_id_bits
变量用于屏蔽 I/O 和 SQL 线程中任何不相关的位 。server_id
mysqlbinlog 可以从二进制日志中读取此数据 ,前提是它在将自己的
server_id_bits
变量设置为 32(默认值)的情况下运行。如果值
server_id
大于或等于 2 的次方server_id_bits
;否则, mysqld拒绝启动。此系统变量仅受 NDB Cluster 支持。标准 MySQL 5.7 服务器不支持它。
-
命令行格式 --slave-allow-batching[={OFF|ON}]
系统变量 slave_allow_batching
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
NDB Cluster 副本上是否启用了批量更新。
允许对副本进行批量更新可以极大地提高性能,尤其是在复制
TEXT
、BLOB
和JSON
列时。因此,slave_allow_batching
在使用 NDB 复制时应始终启用。从 NDB 7.6.23 开始,只要此变量设置为 ,就会发出警告OFF
。设置此变量仅在使用
NDB
存储引擎进行复制时有效;在 MySQL Server 5.7 中,它存在但什么也不做。有关更多信息,请参阅 第 21.7.6 节,“启动 NDB Cluster 复制(单个复制通道)”。 -
系统变量 transaction_allow_batching
范围 会议 动态的 是的 类型 布尔值 默认值 OFF
当设置为
1
orON
时,此变量启用同一事务中的语句批处理。要使用此变量,autocommit
必须首先通过将其设置为0
或 来禁用它OFF
;否则,设置transaction_allow_batching
无效。将此变量用于只执行写入的事务是安全的,因为启用它会导致从“之前”图像读取。
COMMIT
在发出SELECT
.重要的transaction_allow_batching
只要给定语句的效果可能取决于同一事务中先前语句的结果,就不应使用。目前仅 NDB Cluster 支持此变量。
以下列表中的系统变量均与
ndbinfo
信息数据库有关。
-
系统变量 ndbinfo_database
范围 全球的 动态的 不 类型 细绳 默认值 ndbinfo
显示用于
NDB
信息数据库的名称;默认为ndbinfo
. 这是一个只读变量,其值在编译时确定。 -
命令行格式 --ndbinfo-max-bytes=#
系统变量 ndbinfo_max_bytes
范围 全局,会话 动态的 是的 类型 整数 默认值 0
最小值 0
最大值 65535
仅用于测试和调试。
-
命令行格式 --ndbinfo-max-rows=#
系统变量 ndbinfo_max_rows
范围 全局,会话 动态的 是的 类型 整数 默认值 10
最小值 1
最大值 256
仅用于测试和调试。
-
系统变量 ndbinfo_offline
范围 全球的 动态的 是的 类型 布尔值 默认值 OFF
将
ndbinfo
数据库置于离线模式,在这种模式下,即使表和视图实际上不存在,或者它们存在但在NDB
. 此类表(或视图)不会返回任何行。 -
命令行格式 --ndbinfo-show-hidden[={OFF|ON}]
系统变量 ndbinfo_show_hidden
范围 全局,会话 动态的 是的 类型 布尔值 默认值 OFF
有效值 ON
OFF
数据库的底层内部表是否
ndbinfo
显示在 mysql客户端中。默认值为OFF
。笔记启用时
ndbinfo_show_hidden
,内部表仅显示在ndbinfo
数据库中;无论变量的设置如何, 它们在TABLES
其他 表中都不可见 。INFORMATION_SCHEMA
-
系统变量 ndbinfo_table_prefix
范围 全球的 动态的 不 类型 细绳 默认值 ndb$
用于命名 ndbinfo 数据库基表的前缀(通常隐藏,除非通过设置公开
ndbinfo_show_hidden
)。这是一个只读变量,其默认值为ndb$
; 前缀本身是在编译时确定的。 -
系统变量 ndbinfo_version
范围 全球的 动态的 不 类型 细绳 默认值 显示
ndbinfo
正在使用的引擎版本;只读。
NDB
本节提供有关与 NDB Cluster 和存储引擎
相关的 MySQL 服务器状态变量的详细信息
。对于不特定于 NDB Cluster 的状态变量,以及有关使用状态变量的一般信息,请参阅
第 5.1.9 节,“服务器状态变量”。
MySQL 服务器可以询问
NDBCLUSTER
存储引擎它是否知道具有给定名称的表。这称为发现。Handler_discover
指示使用此机制发现表的次数。Ndb_api_adaptive_send_deferred_count
实际未发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_deferred_count_session
实际未发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_deferred_count_slave
此副本实际未发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_forced_count
此 MySQL 服务器(SQL 节点)发送的使用强制发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_forced_count_session
在此客户端会话中使用强制发送发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_forced_count_slave
此副本发送的使用强制发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_unforced_count
此 MySQL 服务器(SQL 节点)发送的无强制发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_unforced_count_session
在此客户端会话中发送的没有强制发送的自适应发送调用的数量。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_adaptive_send_unforced_count_slave
此副本发送的无强制发送的自适应发送调用数。
有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_bytes_sent_count_session
在此客户端会话中发送到数据节点的数据量(以字节为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_bytes_sent_count_slave
此副本发送到数据节点的数据量(以字节为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)发送到数据节点的数据量(以字节为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_bytes_received_count_session
在此客户端会话中从数据节点接收的数据量(以字节为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_bytes_received_count_slave
此副本从数据节点接收的数据量(以字节为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)从数据节点接收的数据量(以字节为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_event_data_count_injector
NDB 二进制日志注入器线程接收到的行更改事件数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)接收到的行更改事件数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_event_nondata_count_injector
NDB 二进制日志注入器线程接收到的事件数(行更改事件除外)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)接收到的事件数,行更改事件除外。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_event_bytes_count_injector
NDB binlog 注入器线程接收到的事件的字节数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)接收的事件的字节数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此客户端会话中基于或使用主键的操作数。这包括对 blob 表的操作、隐式解锁操作和自增操作,以及用户可见的主键操作。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此副本基于或使用主键的操作数。这包括对 blob 表的操作、隐式解锁操作和自增操作,以及用户可见的主键操作。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)基于或使用主键的操作数。这包括对 blob 表的操作、隐式解锁操作和自增操作,以及用户可见的主键操作。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_pruned_scan_count_session
此客户端会话中已被修剪为单个分区的扫描数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_pruned_scan_count_slave
此副本已被修剪为单个分区的扫描次数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)已被修剪为单个分区的扫描次数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_range_scan_count_session
在此客户端会话中已启动的范围扫描数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_range_scan_count_slave
此副本已启动的范围扫描数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)已启动的范围扫描数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_read_row_count_session
此客户端会话中已读取的总行数。这包括由任何主键、唯一键或在此客户端会话中进行的扫描操作读取的所有行。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此副本已读取的总行数。这包括由此副本执行的任何主键、唯一键或扫描操作读取的所有行。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)已读取的总行数。这包括由此 MySQL 服务器(SQL 节点)执行的任何主键、唯一键或扫描操作读取的所有行。
您应该知道,对于 查询读取的行,此值可能不完全准确,因为在这种情况下,MySQL 服务器实际上读取表单中的伪行并对所有片段的每个片段的行求和在表中得出所有行的估计计数。 使用此估计值而不是表中的实际行数。
SELECT
COUNT(*)
[
table fragment ID
]:[number of rows in fragment
]Ndb_api_read_row_count
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_scan_batch_count_session
在此客户端会话中接收的批次行数。1 个批次定义为来自单个片段的一组扫描结果。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_scan_batch_count_slave
此副本接收的批次行数。1 个批次定义为来自单个片段的一组扫描结果。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)接收的批次行数。1 个批次定义为来自单个片段的一组扫描结果。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_table_scan_count_session
在此客户端会话中已启动的表扫描数,包括内部表的扫描。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_table_scan_count_slave
此副本已启动的表扫描数,包括内部表的扫描。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)已启动的表扫描数,包括内部表的扫描。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_abort_count_session
此客户端会话中中止的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_abort_count_slave
此副本中止的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)中止的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_close_count_session
在此客户端会话中关闭的事务数。该值可能大于 和 的总和
Ndb_api_trans_commit_count_session
,Ndb_api_trans_abort_count_session
因为某些事务可能已回滚。尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_close_count_slave
此副本关闭的事务数。该值可能大于 和 的总和
Ndb_api_trans_commit_count_slave
,Ndb_api_trans_abort_count_slave
因为某些事务可能已回滚。尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)关闭的事务数。该值可能大于 和 的总和
Ndb_api_trans_commit_count
,Ndb_api_trans_abort_count
因为某些事务可能已回滚。尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_commit_count_session
在此客户端会话中提交的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_commit_count_slave
此副本提交的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)提交的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_local_read_row_count_session
此客户端会话中已读取的总行数。这包括由任何主键、唯一键或在此客户端会话中进行的扫描操作读取的所有行。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_local_read_row_count_slave
此副本已读取的总行数。这包括由此副本执行的任何主键、唯一键或扫描操作读取的所有行。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_local_read_row_count
此 MySQL 服务器(SQL 节点)已读取的总行数。这包括由此 MySQL 服务器(SQL 节点)执行的任何主键、唯一键或扫描操作读取的所有行。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_start_count_session
在此客户端会话中启动的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_trans_start_count_slave
此副本启动的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)启动的事务数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此客户端会话中基于或使用唯一键的操作数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此副本基于或使用唯一键的操作数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)基于或使用唯一键的操作数。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_exec_complete_count_session
在等待操作执行完成时线程在此客户端会话中被阻塞的次数。这包括所有
execute()
调用以及对客户端不可见的 blob 和自动增量操作的隐式执行。尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_exec_complete_count_slave
线程在等待操作执行完成时被此副本阻塞的次数。这包括所有
execute()
调用以及对客户端不可见的 blob 和自动增量操作的隐式执行。尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_exec_complete_count
线程在等待操作执行完成时被此 MySQL 服务器(SQL 节点)阻塞的次数。这包括所有
execute()
调用以及对客户端不可见的 blob 和自动增量操作的隐式执行。尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_meta_request_count_session
线程在此客户端会话中被阻塞等待基于元数据的信号的次数,例如 DDL 请求、新纪元和事务记录的占用。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_meta_request_count_slave
线程被此副本阻塞等待基于元数据的信号的次数,例如 DDL 请求、新纪元和事务记录的占用。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_meta_request_count
线程被此 MySQL 服务器(SQL 节点)阻塞等待基于元数据的信号的次数,例如 DDL 请求、新纪元和事务记录的占用。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_nanos_count_session
在此客户端会话中等待来自数据节点的任何类型信号的总时间(以纳秒为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_nanos_count_slave
此副本等待来自数据节点的任何类型信号所花费的总时间(以纳秒为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
此 MySQL 服务器(SQL 节点)等待来自数据节点的任何类型的信号所花费的总时间(以纳秒为单位)。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_scan_result_count_session
在等待基于扫描的信号时线程在此客户端会话中被阻塞的次数,例如等待扫描的更多结果或等待扫描关闭时。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它仅与当前会话相关,不受此 mysqld的任何其他客户端的影响。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_scan_result_count_slave
线程在等待基于扫描的信号时被此副本阻塞的次数,例如等待扫描的更多结果或等待扫描关闭时。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。如果此 MySQL 服务器不充当副本,或者不使用 NDB 表,则此值始终为 0。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
Ndb_api_wait_scan_result_count
线程在等待基于扫描的信号时被此 MySQL 服务器(SQL 节点)阻塞的次数,例如等待扫描的更多结果或等待扫描关闭时。
尽管可以使用
SHOW GLOBAL STATUS
或 读取此变量SHOW SESSION STATUS
,但它实际上是全局范围的。有关详细信息,请参阅 第 21.6.14 节,“NDB API 统计计数器和变量”。
如果服务器充当 NDB Cluster 节点,则此变量的值是它在集群中的节点 ID。
如果服务器不是 NDB Cluster 的一部分,则此变量的值为 0。
如果服务器是 NDB Cluster 的一部分,则此变量的值是 Cluster 管理服务器的主机名或 IP 地址,它从中获取其配置数据。
如果服务器不是 NDB Cluster 的一部分,则此变量的值为空字符串。
如果服务器是 NDB Cluster 的一部分,则此变量的值是它连接到 Cluster 管理服务器的端口号,从中获取其配置数据。
如果服务器不是 NDB Cluster 的一部分,则此变量的值为 0。
在 NDB Cluster Replication 冲突解决中使用,此变量显示自上次重新启动以来在
NDB$EPOCH()
给定mysqld上 使用冲突解决发现的冲突行数。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
在 NDB Cluster Replication 冲突解决中使用,此变量显示自上次重新启动以来在
NDB$EPOCH_TRANS()
给定mysqld上 使用冲突解决发现的冲突行数。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
显示在 NDB Cluster Replication 冲突解决中发现的冲突行数,当使用时
NDB$EPOCH2()
,在自上次重新启动以来指定为主的源上。有关详细信息,请参阅 NDB$EPOCH2()。
在 NDB Cluster Replication 冲突解决中使用,此变量显示自上次重新启动以来在
NDB$EPOCH_TRANS2()
给定mysqld上 使用冲突解决发现的冲突行数。有关详细信息,请参阅 NDB$EPOCH2_TRANS()。
在 NDB Cluster 复制冲突解决中使用,此变量显示自上次启动此 mysqld以来由于“最大时间戳获胜”冲突解决 而未在当前 SQL 节点上应用行的次数。
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
NDB$MAX_DELETE_WIN()
显示自上次启动此mysqld以来,由于 使用 NDB Cluster 复制冲突解决而在当前 SQL 节点上拒绝行的次数。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
在 NDB Cluster 复制冲突解决中使用,此变量显示自上次重新启动以来 给定mysqld上由于“相同时间戳获胜”冲突解决 而未应用行的次数。
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_last_conflict_epoch
在此副本上检测到冲突的最近时期。您可以将此值与
Ndb_slave_max_replicated_epoch
; 如果Ndb_slave_max_replicated_epoch
大于Ndb_conflict_last_conflict_epoch
,则尚未检测到冲突。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_reflected_op_discard_count
当使用 NDB Cluster Replication 冲突解决时,这是由于在执行期间遇到错误而未应用于辅助的反映操作的数量。
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_reflected_op_prepare_count
当使用 NDB Cluster Replication 的冲突解决时,此状态变量包含已定义的反射操作数(即准备在辅助节点上执行)。
当使用 NDB Cluster Replication 的冲突解决时,这给出了已准备好在辅助节点上执行的刷新操作的数量。
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_last_stable_epoch
事务冲突函数发现冲突的行数
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_trans_row_conflict_count
在 NDB Cluster Replication 冲突解决中使用,此状态变量显示自上次重新启动以来 给定mysqld 上的事务冲突函数发现直接冲突的行数 。
目前,NDB Cluster 支持的唯一事务冲突检测函数是 NDB$EPOCH_TRANS(),因此这个状态变量实际上与
Ndb_conflict_fn_epoch_trans
.有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_trans_row_reject_count
在 NDB Cluster 复制冲突解决中使用,此状态变量显示由于被事务冲突检测功能确定为冲突而重新对齐的总行数。这不仅包括
Ndb_conflict_trans_row_conflict_count
,还包括冲突事务中或依赖于冲突事务的任何行。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_trans_reject_count
在 NDB Cluster 复制冲突解决中使用,此状态变量显示事务冲突检测功能发现冲突的事务数。
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_trans_detect_iter_count
在 NDB Cluster Replication 冲突解决中使用,这显示了提交 epoch 事务所需的内部迭代次数。应该(稍微)大于或等于
Ndb_conflict_trans_conflict_commit_count
。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
Ndb_conflict_trans_conflict_commit_count
在 NDB Cluster Replication 冲突解决中使用,这显示了在需要事务冲突处理后提交的纪元事务数。
有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
当使用 delete-delete 冲突检测时,这是检测到的 delete-delete 冲突的数量,其中应用了删除操作,但指示的行不存在。
NDB
提供操作进行的内核 往返次数 。最近由 提交的纪元
NDB
。该客户最近提交的纪元
NDB
。如果服务器是 NDB Cluster 的一部分,则此变量的值是 cluster 中的数据节点数。
如果服务器不是 NDB Cluster 的一部分,则此变量的值为 0。
下推到 NDB 内核以在数据节点上进行分布式处理的连接总数。
笔记EXPLAIN
使用可以下推的 连接测试有助于这个数字。已下推到 NDB 内核但无法在那里处理的连接数。
成功下推
NDB
并在那里执行的连接数。通过向下推送的连接从 NDB 内核 返回到mysqld的行数。
NDBCLUSTER
此变量保存自 NDB Cluster 上次启动以来 执行的扫描次数, 其中NDBCLUSTER
能够使用分区修剪。将此变量与一起使用
Ndb_scan_count
有助于模式设计,以最大限度地提高服务器将扫描修剪到单个表分区的能力,从而仅涉及单个数据节点。NDBCLUSTER
此变量保存自 NDB Cluster 上次启动以来 执行的扫描总数。Ndb_slave_max_replicated_epoch
此副本上最近提交的纪元。您可以将此值与
Ndb_conflict_last_conflict_epoch
; 如果Ndb_slave_max_replicated_epoch
是两者中的较大者,则尚未检测到冲突。有关更多信息,请参阅 第 21.7.11 节,“NDB Cluster 复制冲突解决”。
如果此 MySQL 服务器连接到 NDB 集群,则此只读变量显示集群系统名称。否则,该值为空字符串。