本节提供有关特定于 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类型 布尔值 默认值 OFFNDBCLUSTER存储引擎是使用 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范围 全局,会话 动态的 是的 类型 布尔值 默认值 ONLet和其他 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此选项可用于设置
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范围 全局,会话 动态的 是的 类型 整数 默认值 65536最小值 0最大值 4294967295单元 字节 此选项可用于设置
BLOBNDB 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有效值 FIXEDDYNAMIC在 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有效值 LINHASHKEYHASH控制表的默认分布方法
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_indexlog_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范围 全球的 动态的 是的 类型 布尔值 默认值 ONmysqld是将完整行 ( ) 写入二进制日志 还是
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]部分(即没有指定NodeIdorId参数的部分)。如果将节点 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有效值 ONOFFFORCE启用或禁用处理 数据库
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有效值 FIXEDDYNAMIC在 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有效值 LINHASHKEYHASH控制表的默认分布方法
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 TABLEorALTER 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_enable1000 毫秒 0/4G loop_idle空闲时的睡眠时间 1000 毫秒 0/4G loop_busy等待更多工作时该睡觉了 100 毫秒 0/4G update_batch1个 0/4G read_batch4个 1/4G idle_batch32 1/4G check_batch8个 1/4G check_delay检查新统计数据的频率 10米 1/4G delete_batch8个 0/4G clean_delay1米 0/4G error_batch4个 1/4G error_delay1米 1/4G evict_batch8个 1/4G evict_delay清理 LRU 缓存,从读时开始 1米 0/4G cache_limit此mysqld用于缓存索引统计的最大内存量(以字节为单位);超过时清理缓存。 32 米 0/4G cache_lowpct90后 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 +constantINTBIGINT不支持显式锁定;然而,
NDB存储引擎的特征隐式基于行的锁定是强制执行的。这意味着
FOR UPDATE无法下推连接 using。为了向下推送连接,必须使用 、 或 访问方法之一或这些方法的某种组合来访问连接中的
ref子eq_ref表const。只能使用 推送外部连接的子表
eq_ref。如果推送连接的根是
eq_refor ,则只能 追加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将有效值进一步减少Group50,使该节点被视为最近的节点。仅当所有数据节点都位于托管 API 节点以外的主机上并且希望将其中一个节点专用于 API 节点时才需要这样做。在正常情况下,前面描述的默认调整就足够了。
频繁更改 in
ndb_data_node_neighbour是不可取的,因为这会改变集群连接的状态,因此可能会破坏每个线程对新事务的选择算法,直到它稳定为止。 -
命令行格式 --ndb-read-backup[={OFF|ON}]介绍 5.7.12-ndb-7.5.2 系统变量 ndb_read_backup范围 全球的 动态的 是的 类型 布尔值 默认值 OFFNDB为随后创建 的任何表启用从任何片段副本读取 ;这样做以相对较小的写入成本极大地提高了表读取性能。如果 SQL 节点和数据节点使用相同的主机名或 IP 地址,则会自动检测到这一事实,因此优先将读取发送到同一主机。如果这些节点在同一台主机上但使用不同的 IP 地址,您可以通过将 SQL 节点
ndb_data_node_neighbour上的值设置为数据节点的节点 ID 来告诉 SQL 节点使用正确的数据节点。要为单个表启用或禁用从任何片段副本读取,您可以在 or语句中相应地为表设置
NDB_TABLE选项;有关详细信息,请参阅 第 13.1.18.9 节,“设置 NDB 注释选项”。READ_BACKUPCREATE TABLEALTER 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有效值 NONEPRIMARYSECONDARYPASS确定此 SQL 节点(和 NDB Cluster)在循环(“主动-主动”)复制设置中的角色。
ndb_slave_conflict_role可以采用值PRIMARY、SECONDARY、PASS或NULL(默认值)中的任何一个。必须先停止副本 SQL 线程,然后才能更改ndb_slave_conflict_role。另外,不能直接在betweenPASSand either ofPRIMARYorSECONDARYdirectly之间改变;在这种情况下,您必须确保 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最大值 32server_id此变量指示实际标识服务器 的 32 位中最低有效位的数量。表明服务器实际上是由少于 32 位标识的,这使得剩余的一些位可以用于其他目的,例如存储由应用程序使用 NDB API 的事件 API 在结构中生成的用户数据AnyValue(OperationOptionsNDB Cluster使用AnyValue来存储服务器 ID)。当出于检测复制循环等目的从中提取有效服务器 ID 时
server_id,服务器会忽略剩余的位。在根据服务器 ID 决定是否应忽略事件时, 该server_id_bits变量用于屏蔽 I/O 和 SQL 线程中任何不相关的位 。server_idmysqlbinlog 可以从二进制日志中读取此数据 ,前提是它在将自己的
server_id_bits变量设置为 32(默认值)的情况下运行。如果值
server_id大于或等于 2 的次方server_id_bits;否则, mysqld拒绝启动。此系统变量仅受 NDB Cluster 支持。标准 MySQL 5.7 服务器不支持它。
-
命令行格式 --slave-allow-batching[={OFF|ON}]系统变量 slave_allow_batching范围 全球的 动态的 是的 类型 布尔值 默认值 OFFNDB 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当设置为
1orON时,此变量启用同一事务中的语句批处理。要使用此变量,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有效值 ONOFF数据库的底层内部表是否
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_injectorNDB 二进制日志注入器线程接收到的行更改事件数。
尽管可以使用
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_injectorNDB 二进制日志注入器线程接收到的事件数(行更改事件除外)。
尽管可以使用
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_injectorNDB 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 服务器实际上读取表单中的伪行并对所有片段的每个片段的行求和在表中得出所有行的估计计数。 使用此估计值而不是表中的实际行数。
SELECTCOUNT(*)[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 集群,则此只读变量显示集群系统名称。否则,该值为空字符串。