10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

23.3.3.9 NDB集群MySQL服务器选项和变量

介绍针对NDB集群的MySQL服务器选项、服务器和状态变量。有关使用这些选项的一般信息,以及不特定于NDB Cluster的其他选项和变量,请参见第5.1节“MySQL服务器”

对于NDB集群配置文件中使用的集群配置参数(通常命名为config.ini),看第23.3节“新db集群配置”

23.3.3.9.1 NDB集群MySQL服务器选项

介绍相关的描述mysqldNDB集群相关的服务器选项。和有关信息。mysqld选项不特定于NDB Cluster,以及关于选项使用的一般信息mysqld,请参阅第5.1.7节,“服务器命令选项”

有关用于其他NDB集群进程的命令行选项的信息,请参见第23.4节“NDB集群程序”

  • ——ndbcluster

    命令行格式 ——ndbcluster(=价值)
    残疾的 skip-ndbcluster
    类型 枚举
    默认值
    有效值

    NDBCLUSTER使用NDB集群必须使用存储引擎。如果一个mysqld的支持NDBCLUSTER存储引擎,默认关闭。使用——ndbcluster选项启用它。使用——skip-ndbcluster显式禁用引擎。

    ——ndbcluster选项被忽略(而NDB存储引擎是启用)——初始化也使用。(与…一起使用这个选项既没有必要也不可取——初始化)。

  • ——ndb-allow-copying-alter-table =(|关闭)

    命令行格式 ——ndb-allow-copying-alter-table[={|在}]
    系统变量 ndb_allow_copying_alter_table
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

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

  • ——ndb-batch-size =

    命令行格式 ——ndb-batch-size
    系统变量 ndb_batch_size
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 32768
    最小值 0
    最大值 31536000

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

  • ——ndb-cluster-connection-pool =

    命令行格式 ——ndb-cluster-connection-pool
    系统变量 ndb_cluster_connection_pool
    系统变量 ndb_cluster_connection_pool
    范围 全球
    范围 全球
    动态 没有
    动态 没有
    SET_VAR提示应用 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 1
    最小值 1
    最大值 63

    通过将该选项设置为大于1(默认值)的值,amysqld进程可以使用到集群的多个连接,有效地模拟多个SQL节点。每个连接都需要自己的连接(api)(mysqld)的章节(config.ini)文件,并与集群支持的最大API连接数进行计数。

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

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

    重要的

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

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

  • ——ndb-cluster-connection-pool-nodeids =列表

    命令行格式 ——ndb-cluster-connection-pool-nodeids
    系统变量 ndb_cluster_connection_pool_nodeids
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型
    默认值

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

  • ——ndb-blob-read-batch-bytes =字节

    命令行格式 ——ndb-blob-read-batch-bytes
    系统变量 ndb_blob_read_batch_bytes
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 65536
    最小值 0
    最大值 4294967295

    的批处理大小(以字节为单位)在NDB集群应用程序中读取数据。当超过此批处理大小的数量时要在当前事务中读取的数据,任何挂起的数据立即执行读操作。

    该选项的最大值是4294967295;默认值是65536。将其设置为0具有禁用的效果阅读配料。

    请注意

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

  • ——ndb-blob-write-batch-bytes =字节

    命令行格式 ——ndb-blob-write-batch-bytes
    系统变量 ndb_blob_write_batch_bytes
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 65536
    最小值 0
    最大值 4294967295

    的批处理大小(以字节为单位)NDB集群应用程序的数据写入。当超过此批处理大小的数量时要在当前事务中写入的数据,任何挂起的数据立即执行写操作。

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

    请注意

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

  • ——ndb-connectstring =connection_string

    命令行格式 ——ndb-connectstring
    类型 字符串

    当使用NDBCLUSTER存储引擎,该选项指定分发集群配置数据的管理服务器。看到第23.3.3.3节“NDB集群连接字符串”语法。

  • ——ndb-default-column-format =(固定|动态)

    命令行格式 ——ndb-default-column-format ={固定|动态}
    系统变量 ndb_default_column_format
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 固定
    有效值

    固定

    动态

    设置默认COLUMN_FORMAT而且ROW_FORMAT有关新表(请参阅第13.1.20节," CREATE TABLE语句").默认值是固定

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

    命令行格式 ——ndb-deferred-constraints
    系统变量 ndb_deferred_constraints
    范围 全球、会话
    动态 是的
    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
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 120
    最小值 5
    最大值 1200
    单位

    指定的最大时间(以秒为单位)mysqld等待模式操作完成,然后将其标记为超时。

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

    命令行格式 ——ndb-distribution = {KEYHASH | LINHASH}
    系统变量 ndb_distribution
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 KEYHASH
    有效值

    LINHASH

    KEYHASH

    控件的默认分发方法NDB表。可以设置为KEYHASH(关键散列)LINHASH(线性散列)。KEYHASH是默认的。

  • ——ndb-log-apply-status

    命令行格式 ——ndb-log-apply-status[={|在}]
    系统变量 ndb_log_apply_status
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

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

    在链复制设置中,使用此选项允许下游(复制)集群了解它们相对于所有上游贡献者(源)的位置。

    在循环复制设置中,此选项将导致更改ndb_apply_status表完成整个电路,最终传播回原始的NDB集群。这还允许作为复制源的集群查看其更改(epoch)何时应用到圈中的其他集群。

    这个选项没有作用,除非MySQL服务器用——ndbcluster选择。

  • ——ndb-log-empty-epochs =(|关闭)

    命令行格式 ——ndb-log-empty-epochs[={|在}]
    系统变量 ndb_log_empty_epochs
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    对象中没有写入更改的纪元ndb_apply_status而且ndb_binlog_index表,即使log_slave_updates启用。

    默认情况下,禁用此选项。禁用——ndb-log-empty-epochs导致没有变化的epoch事务不写入二进制日志,尽管即使是空的epoch仍然写入一行ndb_binlog_index

    因为——ndb-log-empty-epochs = 1的大小ndb_binlog_index表的增长独立于二进制日志的大小,用户应该准备好管理这个表的增长,即使他们预计集群大部分时间是空闲的。

  • ——ndb-log-empty-update =(|关闭)

    命令行格式 ——ndb-log-empty-update[={|在}]
    系统变量 ndb_log_empty_update
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    控件写入没有产生更改的更新ndb_apply_status而且ndb_binlog_index表,当log_slave_updates启用。

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

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

    命令行格式 ——ndb-log-exclusive-reads[={|在}]
    系统变量 ndb_log_exclusive_reads
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值 0

    使用此选项启动服务器会导致主键读取被记录为排他锁,从而允许基于读冲突检测和解决NDB Cluster Replication冲突。的值,还可以在运行时启用和禁用这些锁ndb_log_exclusive_reads系统变量分别为1或0。0(禁用锁定)是默认值。

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

  • ——ndb-log-fail-terminate

    命令行格式 ——ndb-log-fail-terminate
    介绍了 8.0.21-ndb-8.0.21
    系统变量 ndb_log_fail_terminate
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    如果指定了此选项,并且不可能完全记录所有找到的行事件,则mysqld过程终止。

  • ——ndb-log-orig

    命令行格式 ——ndb-log-orig[={|在}]
    系统变量 ndb_log_orig
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    中记录原始服务器ID和纪元ndb_binlog_index表格

    请注意

    这使得一个给定的epoch中有多个行成为可能ndb_binlog_index,一个代表一个起源时代。

    有关更多信息,请参见第23.6.4节“NDB集群复制模式和表”

  • ——ndb-log-transaction-id

    命令行格式 ——ndb-log-transaction-id[={|在}]
    系统变量 ndb_log_transaction_id
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    导致一个复制品mysqld在二进制日志的每一行中写入NDB事务ID。默认值为

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

    弃用的log_bin_use_v1_row_events系统变量,默认为,一定不要设为当你使用——ndb-log-transaction-id

  • ——ndb-log-update-as-write

    命令行格式 ——ndb-log-update-as-write[={|在}]
    系统变量 ndb_log_update_as_write
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    是否将源上的更新作为更新写入二进制日志()或写入().用于NDB复制冲突解决;有关更多信息,请参见将更改的数据记录为更新

  • ——ndb-log-updated-only

    命令行格式 ——ndb-log-updated-only[={|在}]
    系统变量 ndb_log_updated_only
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    是否mysqld写入完整的行()或只更新()到二进制日志。用于NDB复制冲突解决;看到记录全部或部分行,以获取更多信息。

  • ——ndb-log-update-minimal

    命令行格式 ——ndb-log-update-minimal[={|在}]
    系统变量 ndb_log_update_minimal
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    通过在前一个图像中只写入主键值,在后一个图像中只写入更改的列,以最小的方式记录更新。如果复制到其他存储引擎,可能会导致兼容性问题NDB

  • ——ndb-mgmd-host =宿主[:港口

    命令行格式 ——ndb-mgmd-host = host_name [: port_num]
    类型 字符串
    默认值 localhost: 1186

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

  • ——ndb-nodeid = #

    命令行格式 ——ndb-nodeid = #
    状态变量 Ndb_cluster_node_id
    范围 全球
    动态 没有
    类型 整数
    最小值 1
    最大值 255
    最大值 63

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

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

    此外,如果——ndb-nodeid,则必须在(mysqld)(api)的部分config.ini,否则一定会有开放(mysqld)(api)段(即不包含NodeIdId参数指定)。如果将节点ID指定为连接字符串的一部分,则也是如此。

    无论节点ID是如何确定的,它都显示为全局状态变量的值Ndb_cluster_node_id的输出显示状态,当cluster_node_id连接的输出的行显示引擎ndbcluster状态

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

  • ——ndbinfo ={|关闭|力}

    命令行格式 ——ndbinfo(=价值)(≥8.0.13-ndb-8.0.13)
    介绍了 8.0.13-ndb-8.0.13
    类型 枚举
    默认值
    有效值

    的插件ndbinfo信息数据库。默认情况下,这是ONNDBCLUSTER启用。

  • ——ndb-optimization-delay =毫秒

    命令行格式 ——ndb-optimization-delay = #
    系统变量 ndb_optimization_delay
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10
    最小值 0
    最大值 100000

    通过设置行集之间等待的毫秒数优化表声明NDB表。缺省值为10。

  • ——ndb-optimized-node-selection

    命令行格式 ——ndb-optimized-node-selection

    为事务的节点选择启用优化。默认启用;使用——skip-ndb-optimized-node-selection禁用。

  • ——ndb-transid-mysql-connection-map =状态

    命令行格式 ——ndb-transid-mysql-connection-map(=状态)
    类型 枚举
    默认值
    有效值

    启用或禁用处理ndb_transid_mysql_connection_map表中INFORMATION_SCHEMA数据库。取其中一个值,或(默认值)启用插件。禁用插件,使ndb_transid_mysql_connection_map无法访问。如果插件加载和启动失败,会阻止MySQL Server启动。

    你可以看到是否ndb_transid_mysql_connection_map表插件正在运行,通过检查输出显示插件

  • ——ndb-wait-connected =

    命令行格式 ——ndb-wait-connected = #
    系统变量 ndb_wait_connected
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 30.
    最小值 0
    最大值 31536000

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

  • ——ndb-wait-setup =

    命令行格式 ——ndb-wait-setup = #
    系统变量 ndb_wait_setup
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 30.
    默认值 30.
    默认值 15
    默认值 15
    最小值 0
    最大值 31536000

    这个变量显示MySQL服务器等待NDB存储引擎在超时和处理之前完成设置NDB不可用。时间以秒为单位。默认值为30.

  • ——skip-ndbcluster

    命令行格式 ——skip-ndbcluster

    禁用NDBCLUSTER存储引擎。这是构建的二进制文件的默认值NDBCLUSTER存储引擎的支持;服务器仅在——ndbcluster选项显式给出。看到第23.3.1节“NDB集群快速测试设置”举个例子。

23.3.3.9.2 NDB集群系统变量说明

介绍NDB集群和MySQL服务器系统变量的详细信息NDB存储引擎。非NDB集群专用的系统变量请参见第5.1.8节,“服务器系统变量”。有关使用系统变量的一般信息,请参见第5.1.9节“使用系统变量”

  • ndb_autoincrement_prefetch_sz

    命令行格式 ——ndb-autoincrement-prefetch-sz = #
    系统变量 ndb_autoincrement_prefetch_sz
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值(≥8.0.19- db-8.0.19) 512
    默认值(≤8.0.18 db-8.0.18) 1
    最小值 1
    最大值 65536

    确定自递增列中出现空白的概率。将其设置为1最小化。将它设置为一个较高的优化值可以使插入更快,但降低了在一批插入中使用连续自动递增编号的可能性。

    的数量AUTO_INCREMENT在语句之间获取的id;在一个给定的语句中,一次至少获得32个id。

    重要的

    此变量不影响使用执行的插入插入……选择

  • ndb_cache_check_time

    命令行格式 ——ndb-cache-check-time = #
    弃用 是的
    系统变量 ndb_cache_check_time
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0

    MySQL查询缓存对NDB集群SQL节点的检查间隔的毫秒数。将其设置为0(默认值和最小值)意味着查询缓存对每个查询进行验证检查。

    建议该变量的最大值为1000,这意味着每秒执行一次检查。较大的值意味着执行检查,但由于不同SQL节点上的更新频率较低,检查可能无效。通常不希望将该值设置为大于2000的值。

    请注意

    查询缓存ndb_cache_check_time在MySQL 5.7中已弃用;在MySQL 8.0中删除查询缓存。

  • ndb_clear_apply_status

    命令行格式 ——ndb-clear-apply-status[={|在}]
    系统变量 ndb_clear_apply_status
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    默认情况下,正在执行重置的奴隶导致NDB集群副本清除它的所有行ndb_apply_status表格您可以通过设置禁用此功能ndb_clear_apply_status =了

  • ndb_conflict_role

    命令行格式 ——ndb-conflict-role =值
    介绍了 8.0.23-ndb-8.0.23
    系统变量 ndb_conflict_role
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 没有一个
    有效值

    没有一个

    主要的

    二次

    通过

    确定此SQL节点(和NDB集群)在循环(active - active)复制设置。ndb_slave_conflict_role可以取任意一个值吗主要的二次通过,或(默认)。在进行更改之前,必须停止复制SQL线程ndb_slave_conflict_role。另外,不可能在两者之间直接更改通过的,要么主要的二次直接;在这种情况下,必须确保停止SQL线程,然后执行设置@@GLOBAL。ndb_slave_conflict_role = '没有'第一。

    这个变量替换ndb_slave_conflict_role,在NDB 8.0.23版本已弃用。

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

  • ndb_data_node_neighbour

    命令行格式 ——ndb-data-node-neighbour = #
    系统变量 ndb_data_node_neighbour
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 255

    的ID最近的数据节点—即选择首选的非本地数据节点来执行事务,而不是选择与SQL或API节点运行在同一主机上的非本地数据节点。这用于确保在访问完全复制的表时,我们在这个数据节点上访问它,以确保总是在可能的情况下使用表的本地副本。这也可以用于为事务提供提示。

    这可以在物理上距离较近的节点上提高数据访问时间,从而比同一主机上的其他节点具有更高的网络吞吐量。

    看到第13.1.20.11节“设置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
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 1

    当设置为1时,检查是否没有股票滞留。仅在调试版本中可用。

    在NDB 8.0.13中新增。

  • ndb_default_column_format

    命令行格式 ——ndb-default-column-format ={固定|动态}
    系统变量 ndb_default_column_format
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 固定
    有效值

    固定

    动态

    设置默认COLUMN_FORMAT而且ROW_FORMAT有关新表(请参阅第13.1.20节," CREATE TABLE语句").默认值是固定

  • ndb_deferred_constraints

    命令行格式 ——ndb-deferred-constraints = #
    系统变量 ndb_deferred_constraints
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 1

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

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

  • ndb_distribution

    命令行格式 ——ndb-distribution = {KEYHASH | LINHASH}
    系统变量 ndb_distribution
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 KEYHASH
    有效值

    LINHASH

    KEYHASH

    控件的默认分发方法NDB表。可以设置为KEYHASH(关键散列)LINHASH(线性散列)。KEYHASH是默认的。

  • ndb_eventbuffer_free_percent

    命令行格式 ——ndb-eventbuffer-free-percent = #
    系统变量 ndb_eventbuffer_free_percent
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 20.
    最小值 1
    最大值 99

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

  • ndb_eventbuffer_max_alloc

    命令行格式 ——ndb-eventbuffer-max-alloc = #
    系统变量 ndb_eventbuffer_max_alloc
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 4294967295

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

  • ndb_extra_logging

    命令行格式 ndb_extra_logging = #
    系统变量 ndb_extra_logging
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 1

    该变量允许在MySQL错误日志中记录特定于NDB存储引擎。

    当此变量设置为0时,指定的唯一信息NDB它被写入MySQL错误日志,与事务处理有关。如果它设置为大于0但小于10的值,NDB表模式和连接事件也会被记录下来,以及是否使用了冲突解决方案,等等NDB错误和信息。如果设置为10及以上,则表示有关的信息NDB内部信息,比如数据在集群节点间的分布进度,也会被写入MySQL错误日志。缺省值为1。

  • ndb_force_send

    命令行格式 ——ndb-force-send[={|在}]
    系统变量 ndb_force_send
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    强制发送缓冲区到NDB立即,不需要等待其他线程。默认为

  • ndb_fully_replicated

    命令行格式 ——ndb-fully-replicated[={|在}]
    系统变量 ndb_fully_replicated
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    确定新NDB表是完全复制的。可以为单个表覆盖此设置评论= " NDB_TABLE = FULLY_REPLICATED =…”在一个创建表ALTER TABLE声明;看到第13.1.20.11节“设置NDB_TABLE选项”,以获取语法和其他信息。

  • ndb_index_stat_enable

    命令行格式 ——ndb-index-stat-enable[={|在}]
    系统变量 ndb_index_stat_enable
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    使用NDB查询优化中的索引统计。默认值是

    在NDB 8.0.27之前,使用——ndb-index-stat-enable设置为阻止创建索引统计表。在NDB 8.0.27和更高版本中,这些表总是在服务器启动时创建的,而不管这个选项的值是多少。

  • ndb_index_stat_option

    命令行格式 ——ndb-index-stat-option =值
    系统变量 ndb_index_stat_option
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 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, evt_batch =8, evt_delay =1m,cache_limit=32M, cache_lowpct=90

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

    设置时未使用的选项ndb_index_stat_option的默认值不变。例如,可以设置ndb_index_stat_option = ' loop_idle = 1000毫秒,cache_limit = 32 m '

    时间值可以有选择地加上h(小时)(分钟),或年代(秒)。可以使用指定毫秒值女士;不能使用指定毫秒值h,或年代)。整数值可以用K,或G

    可以使用此变量设置的选项的名称如下表所示。该表还提供了选项、它们的默认值以及(如果适用)它们的最小值和最大值的简要描述。

    表23.20 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

    系统变量 ndb_join_pushdown
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    这个变量控制是否连接NDB表被下推到NDB内核(数据节点)。的多个访问来处理连接NDBSQL节点;然而,当ndb_join_pushdown启用时,可推连接将完整地发送到数据节点,它可以分布在数据节点之间,并在数据的多个副本上并行执行,并将单个合并结果返回到mysqld。这可以大大减少SQL节点和处理这种连接所需的数据节点之间的往返次数。

    默认情况下,ndb_join_pushdown启用。

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

    1. 只有列可以比较,并且必须使用要连接的所有列完全相同的数据类型。这意味着(例如)在INT列和一个长整型数字列也不能下推。

      以前,表达如t1。一个= t2。+常数不能被推下去。这个限制在NDB 8.0.18及以后版本中被取消。对要比较的任何列的任何操作的结果必须产生与列本身相同的类型。

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

    2. 查询引用文本不支持列。

    3. 不支持显式锁定;然而,NDB存储引擎特性的隐式基于行的锁定被强制执行。

      这意味着连接使用更新不能向下推。

    4. 方法中的一种来访问连接中的子表,以便将连接下推裁判eq_ref,或常量访问方法,或这些方法的某些组合。

      外部连接子表只能使用推入eq_ref

      如果被推送的连接的根是eq_ref常量,连接的唯一子表eq_ref可以追加。(由…组成的桌子裁判可能成为另一个被推送的连接的根。)

      如果查询优化器决定使用加入缓存对于候选子表,该表不能作为子表推入。但是,它可能是另一组推表的根。

    5. 连接显式分区的引用表(线性)散列列表,或范围目前无法向下推。

    您可以通过检查给定的连接是否可以下推解释;可以下推连接时,可以看到对将加入额外的列的输出,如下例所示:

    mysql> EXPLAIN -> SELECT e.first_name, e.last_name, t.title, d.p dept_name -> FROM employees e -> JOIN dept_emp de ON e.p emp_no=de。emp_no -> JOIN departments d ON d.p dept_no=de.dept_no -> JOIN title t ON e.p emp_no=t. dept_no。列出\ G  *************************** 1。行  *************************** id: 1 select_type:简单的表:d类型:所有possible_keys:主键:空key_len:零参考:空行:9额外:父4 join@1推  *************************** 2。行  *************************** id: 1 select_type:简单的表:de类型:裁判possible_keys:初选,列出dept_no关键:dept_no key_len: 4裁判:employees.d.dept_no行:5305额外的:孩子推join@1 ' d '  *************************** 3所示。行  *************************** id: 1 select_type:简单的表:e型:eq_ref possible_keys:主键:主要key_len: 4裁判:employees.de.emp_no行:1额外的:孩子推join@1的“德”  *************************** 4所示。行*************************** id: 1 select_type: SIMPLE表:t类型:ref可能的键:PRIMARY,emp_no键:emp_no key_len: 4 ref: employees.de.emp_no rows: 19额外:'e'的子推join@1 4行在set (0.00 sec)
    请注意

    如果内连接子表由裁判而且结果按已排序的索引排序或分组,该索引不能提供已排序的行,这将强制写入已排序的tempfile。

    关于推送连接性能的另外两个信息来源:

  • ndb_log_apply_status

    命令行格式 ——ndb-log-apply-status[={|在}]
    系统变量 ndb_log_apply_status
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    类启动服务器的只读变量——ndb-log-apply-status选择。

  • ndb_log_bin

    命令行格式 ——ndb-log-bin[={|在}]
    系统变量 ndb_log_bin
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值(≥8.0.16 db-8.0.16)
    默认值(≤8.0.15- db-8.0.15)

    导致更新NDB要写入二进制日志的表。如果尚未在使用的服务器上启用二进制日志记录,则此变量的设置将不起作用log_bin。在NDB 8.0.16及以后版本中,ndb_log_bin默认为0 (FALSE)。

  • ndb_log_binlog_index

    命令行格式 ——ndb-log-binlog-index[={|在}]
    系统变量 ndb_log_binlog_index
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    方法中插入到二进制日志中的时间到位置的映射ndb_binlog_index表格如果尚未为所使用的服务器启用二进制日志记录,则设置此变量没有效果log_bin。(另外,ndb_log_bin不可禁用。)ndb_log_binlog_index默认为1);通常,在生产环境中不需要更改此值。

  • ndb_log_empty_epochs

    命令行格式 ——ndb-log-empty-epochs[={|在}]
    系统变量 ndb_log_empty_epochs
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    当这个变量设置为0时,没有变化的epoch事务不会写入二进制日志,尽管即使是空的epoch也会写入一行ndb_binlog_index

  • ndb_log_empty_update

    命令行格式 ——ndb-log-empty-update[={|在}]
    系统变量 ndb_log_empty_update
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    当此变量设置为1)时,没有更改的更新事务被写入二进制日志中,即使在log_slave_updates启用。

  • ndb_log_exclusive_reads

    命令行格式 ——ndb-log-exclusive-reads[={|在}]
    系统变量 ndb_log_exclusive_reads
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值 0

    该变量决定是否使用排他锁记录主键读取,从而允许基于读冲突检测和解决NDB Cluster Replication冲突。要启用这些锁,请设置的值ndb_log_exclusive_reads为1。0表示禁用此类锁定,是默认值。

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

  • ndb_log_orig

    命令行格式 ——ndb-log-orig[={|在}]
    系统变量 ndb_log_orig
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    控件中是否记录了原始服务器ID和epochndb_binlog_index表格设置使用——ndb-log-orig服务器选项。

  • ndb_log_transaction_id

    系统变量 ndb_log_transaction_id
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    这个只读的布尔系统变量显示是否为副本mysqld将NDB事务id写入二进制日志(需要使用active - activeNDB集群复制NDB EPOCH_TRANS美元()冲突检测)。要更改设置,请使用——ndb-log-transaction-id选择。

    ndb_log_transaction_id主线MySQL Server 8.0不支持。

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

  • ndb_metadata_check

    命令行格式 ——ndb-metadata-check[={|在}]
    介绍了 8.0.16-ndb-8.0.16
    系统变量 ndb_metadata_check
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    从NDB 8.0.16开始,NDB使用后台线程检查每个元数据的更改ndb_metadata_check_interval与MySQL数据字典相比。可以通过设置禁用此元数据更改检测线程ndb_metadata_check。该线程默认是启用的。

  • ndb_metadata_check_interval

    命令行格式 ——ndb-metadata-check-interval = #
    介绍了 8.0.16-ndb-8.0.16
    系统变量 ndb_metadata_check_interval
    范围 全球
    动态 是的
    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
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    设置此变量将导致更改监控器线程覆盖为其设置的任何值ndb_metadata_checkndb_metadata_check_interval,并进入连续变化检测期。当线程确定没有更多的更改要检测时,它会暂停,直到二进制日志记录线程完成所有被检测对象的同步。ndb_metadata_sync则设置为的设置确定的行为,更改监视器线程返回ndb_metadata_check而且ndb_metadata_check_interval

    在NDB 8.0.22及更高版本中,将此变量设置为真正的使排除对象列表被清除,并将其设置为清除要重试的对象列表。

  • ndb_optimized_node_selection

    命令行格式 ——ndb-optimized-node-selection = #
    系统变量 ndb_optimized_node_selection
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 3.
    最小值 0
    最大值 3.

    有两种优化的节点选择形式,描述如下:

    1. SQL节点使用的相似性确定事务协调器;也就是说,最亲密的到SQL节点的数据节点被选择为事务协调器。为此,与SQL节点具有共享内存连接的数据节点被认为是最亲密的到SQL节点;其次(按接近程度递减的顺序)是:TCP连接到本地主机,其次是来自非本地主机

    2. SQL线程使用分布的意识选择数据节点。也就是说,包含由给定事务的第一条语句访问的集群分区的数据节点被用作整个事务的事务协调器。(只有当事务的第一条语句访问的集群分区不超过一个时,这才有效。)

    该选项接受一个整数值012,或3.3.是默认的。这些值对节点选择的影响如下:

    • 0:未优化节点选择。在SQL线程处理下一个数据节点之前,每个数据节点被用作事务协调器8次。

    • 1:使用与SQL节点的接近性来确定事务协调器。

    • 2:分布感知用于选择事务协调器。但是,如果事务的第一条语句访问多个集群分区,SQL节点将恢复到设置此选项时看到的轮询行为0

    • 3.:如果可以使用分布感知来确定事务协调器,则使用它;否则,使用邻近性来选择事务协调器。(这是默认的行为。)

    邻近性的确定如下:

    1. 的值开始集团默认参数(55)。

    2. 对于与其他API节点共享同一主机的API节点,该值减1。的默认值集团,与API节点相同主机上的数据节点的有效值为54,远程数据节点的有效值为55。

    3. 设置ndb_data_node_neighbour进一步降低有效集团值除以50,使此节点被视为最近的节点。只有当所有数据节点都位于API节点以外的主机上,并且希望将其中一个数据节点专门用于API节点时,才需要这样做。在正常情况下,前面描述的默认调整就足够了。

    频繁的变化ndb_data_node_neighbour不可取,因为这会改变集群连接的状态,因此可能会中断每个线程对新事务的选择算法,直到它稳定下来。

  • ndb_read_backup

    命令行格式 ——ndb-read-backup[={|在}]
    系统变量 ndb_read_backup
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值(≥8.0.19- db-8.0.19)
    默认值(≤8.0.18 db-8.0.18)

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

    若要启用或禁用从单个表的任何片段副本读取,可以设置NDB_TABLE选项READ_BACKUP对于相应的表,在创建表ALTER TABLE声明;看到第13.1.20.11节“设置NDB_TABLE选项”,以获取更多信息。

  • ndb_recv_thread_activation_threshold

    命令行格式 ——ndb-recv-thread-activation-threshold = #
    系统变量 ndb_recv_thread_activation_threshold
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 8
    最小值 0 (MIN_ACTIVATION_THRESHOLD)
    最大值 16 (MAX_ACTIVATION_THRESHOLD)

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

    这个变量的作用域是全局的。它也可以在启动时设置。

  • ndb_recv_thread_cpu_mask

    命令行格式 ——ndb-recv-thread-cpu-mask =面具
    系统变量 ndb_recv_thread_cpu_mask
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 位图
    默认值 (空)

    锁定特定CPU的接收线程的CPU掩码。它被指定为十六进制位掩码。例如,0 x33意味着每个接收线程使用一个CPU。默认为空字符串;设置ndb_recv_thread_cpu_mask此值移除先前设置的任何接收线程锁。

    这个变量的作用域是全局的。它也可以在启动时设置。

  • ndb_report_thresh_binlog_epoch_slip

    命令行格式 ——ndb-report-thresh-binlog-epoch-slip = #
    系统变量 ndb_report_thresh_binlog_epoch_slip
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10
    最小值 0
    最大值 256

    这表示事件缓冲区中完全缓冲的、但尚未被binlog注入器线程使用的epoch数的阈值。当超过此滑移(延迟)程度时,将报告事件缓冲区状态消息BUFFERED_EPOCHS_OVER_THRESHOLD作为原因提供(参见第23.5.2.3节“集群日志中的事件缓冲区报告”).当从数据节点接收到纪元并在事件缓冲区中完全缓冲时,Slip增加;当一个epoch被binlog注入器线程消耗时,它会减少。方法启用时,空的epoch将被缓冲和排队,因此只有在此计算中才包括空的epochNdb: setEventBufferQueueEmptyEpoch ()方法。

  • ndb_report_thresh_binlog_mem_usage

    命令行格式 ——ndb-report-thresh-binlog-mem-usage = #
    系统变量 ndb_report_thresh_binlog_mem_usage
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10
    最小值 0
    最大值 10

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

  • ndb_row_checksum

    系统变量 ndb_row_checksum
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 1
    最小值 0
    最大值 1

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

  • ndb_schema_dist_lock_wait_timeout

    命令行格式 ——ndb-schema-dist-lock-wait-timeout =值
    介绍了 8.0.18-ndb-8.0.18
    系统变量 ndb_schema_dist_lock_wait_timeout
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 30.
    最小值 0
    最大值 1200
    单位

    在模式分发期间等待每个SQL节点上的元数据锁的秒数,以便更改其本地数据字典以反映DDL语句更改。经过此时间后,将返回一个警告,大意是给定SQL节点的数据字典没有随更改而更新。这避免了二进制日志记录线程在处理模式操作时等待的时间过长。

  • ndb_schema_dist_timeout

    命令行格式 ——ndb-schema-dist-timeout =值
    介绍了 8.0.16-ndb-8.0.16
    系统变量 ndb_schema_dist_timeout
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 120
    最小值 5
    最大值 1200
    单位

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

  • ndb_schema_dist_upgrade_allowed

    命令行格式 ——ndb-schema-dist-upgrade-allowed =值
    介绍了 8.0.17-ndb-8.0.17
    系统变量 ndb_schema_dist_upgrade_allowed
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值 真正的

    连接时允许升级模式分布表NDB。当为true(默认值)时,此更改将延迟到所有SQL节点都升级到相同版本的NDB Cluster软件。

    请注意

    在执行升级之前,模式分布的性能可能会有所下降。

  • ndb_show_foreign_key_mock_tables

    命令行格式 ——ndb-show-foreign-key-mock-tables[={|在}]
    系统变量 ndb_show_foreign_key_mock_tables
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    显示使用的模拟表NDB支持foreign_key_checks = 0。启用此选项后,在创建和删除表时将显示额外的警告。的输出中可以看到表的真实(内部)名称显示创建表

  • ndb_slave_conflict_role

    命令行格式 ——ndb-slave-conflict-role =值
    弃用 8.0.23-ndb-8.0.23
    系统变量 ndb_slave_conflict_role
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 没有一个
    有效值

    没有一个

    主要的

    二次

    通过

    在NDB 8.0.23中已弃用,并将在未来的版本中移除。使用ndb_conflict_role代替。

  • ndb_table_no_logging

    系统变量 ndb_table_no_logging
    范围 会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    当此变量设置为1,它会导致NDB不将表检指向磁盘。更具体地说,此设置适用于使用创建或更改的表引擎NDBndb_table_no_logging启用,并在表的生命周期内继续应用,即使ndb_table_no_logging后来发生了变化。假设一个BC,D表是我们创建的(可能还会更改),并且我们还会更改其设置吗ndb_table_no_logging如下所示:

    SET @@ndb_table_no_logging = 1;创建一个表…引擎NDB;创建表b…MYISAM引擎;创建表c…MYISAM引擎;修改表b引擎ndb;SET @@ndb_table_no_logging = 0;创建表d… ENGINE NDB; ALTER TABLE C ENGINE NDB; SET @@ndb_table_no_logging = 1;

    在前面的事件序列之后,表一个而且B不是检查点;一个创建了引擎NDBB改为使用NDB,而ndb_table_no_logging被启用。然而,表C而且D记录;C被修改为NDB而且D创建使用引擎NDB,而ndb_table_no_logging是禁用的。设置ndb_table_no_logging1导致表CD检查点。

    请注意

    ndb_table_no_logging对创作没有影响吗NDB表模式文件;要抑制这些,使用ndb_table_temporary代替。

  • ndb_table_temporary

    系统变量 ndb_table_temporary
    范围 会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    当设置为1,此变量导致NDB不将表写入磁盘:这意味着不创建表模式文件,也不记录表。

    请注意

    设置此变量目前没有效果。这是一个众所周知的问题;看到错误# 34036。

  • ndb_use_copying_alter_table

    系统变量 ndb_use_copying_alter_table
    范围 全球、会话
    动态 没有
    SET_VAR提示应用 没有

    部队NDB在与联机发生问题时使用表的复制ALTER TABLE操作。默认值为

  • ndb_use_exact_count

    系统变量 ndb_use_exact_count
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    部队NDB期间使用记录计数SELECT COUNT (*)查询计划,以加快这种类型的查询。默认值为,这允许整体上更快的查询。

  • ndb_use_transactions

    命令行格式 ——ndb-use-transactions[={|在}]
    系统变量 ndb_use_transactions
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    你可以禁用NDB事务支持,将此变量的值设置为(不推荐)。默认值是

  • ndb_version

    系统变量 ndb_version
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串
    默认值

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

  • ndb_version_string

    系统变量 ndb_version_string
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串
    默认值

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

  • server_id_bits

    命令行格式 ——server-id-bits = #
    系统变量 server_id_bits
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 32
    最小值 7
    最大值 32

    此变量表示32位内的最低有效位数server_id它实际上识别了服务器。指出服务器实际上是由少于32位来标识的,这使得剩余的一些位可以用于其他目的,例如存储应用程序使用NDB API的Event API在AnyValue一个OperationOptions结构(NDB集群使用AnyValue存储服务器ID)。

    提取有效服务器ID时server_id出于检测复制循环等目的,服务器会忽略剩余的位。的server_id_bits变量用于屏蔽任何不相关的位server_id在I/O和SQL线程中,根据服务器ID决定是否应该忽略某个事件。

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

    的值server_id大于或等于2的server_id_bits;否则,mysqld拒绝开始。

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

  • slave_allow_batching

    命令行格式 ——slave-allow-batching[={|在}]
    系统变量 slave_allow_batching
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    是否在NDB集群副本上启用了批量更新。

    方法使用复制时,设置此变量才会生效NDB存储引擎;在MySQL Server 8.0中,它是存在的,但什么也不做。有关更多信息,请参见第23.6.6节“启动NDB集群复制(单复制区域通道)”

  • transaction_allow_batching

    系统变量 transaction_allow_batching
    范围 会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    当设置为1,此变量支持在同一事务中批处理语句。要使用这个变量,自动提交必须先将其设置为禁用0;否则,设置transaction_allow_batching没有效果。

    对于只执行写操作的事务使用此变量是安全的,因为启用它会导致从之前的形象。您应该确保所有挂起的事务都已提交(使用显式提交(如有需要),然后发出选择

    重要的

    transaction_allow_batching当给定语句的效果可能依赖于同一事务中前一个语句的结果时,不应使用。

    该变量目前只支持NDB集群。

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

  • ndbinfo_database

    系统变量 ndbinfo_database
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串
    默认值 ndbinfo

    控件使用的名称NDB信息数据库;默认值是ndbinfo。这是一个只读变量,其值在编译时确定。

  • ndbinfo_max_bytes

    命令行格式 ——ndbinfo-max-bytes = #
    系统变量 ndbinfo_max_bytes
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0

    仅用于测试和调试。

  • ndbinfo_max_rows

    命令行格式 ——ndbinfo-max-rows = #
    系统变量 ndbinfo_max_rows
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10

    仅用于测试和调试。

  • ndbinfo_offline

    系统变量 ndbinfo_offline
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    ndbinfo数据库转入脱机模式,在这种模式下,即使表和视图实际上不存在,或者表和视图存在但在中具有不同的定义,也可以打开它们NDB。这些表(或视图)不会返回任何行。

  • ndbinfo_show_hidden

    命令行格式 ——ndbinfo-show-hidden[={|在}]
    系统变量 ndbinfo_show_hidden
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值
    有效值

    不管ndbinfo数据库的底层内部表显示在mysql客户端。默认值是

  • ndbinfo_table_prefix

    系统变量 ndbinfo_table_prefix
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串
    默认值 ndb美元

    用于命名ndbinfo数据库基表的前缀(通常是隐藏的,除非通过设置暴露ndbinfo_show_hidden).这是一个只读变量,默认值为ndb美元;前缀本身在编译时确定。

  • ndbinfo_version

    系统变量 ndbinfo_version
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    控件的版本ndbinfo引擎使用;只读的。

23.3.3.9.3 NDB集群状态变量

介绍与NDB集群和数据库相关的MySQL服务器状态变量的详细信息NDB存储引擎。关于不特定于NDB集群的状态变量,以及关于使用状态变量的一般信息,请参见第5.1.10节,“服务器状态变量”