MySQL8 中文参考(八十八)(2)https://developer.aliyun.com/article/1565893
- 当达到此数量的并发活动线程时,接收线程接管集群连接的轮询。
此变量的作用范围是全局的。它也可以在启动时设置。 ndb_recv_thread_cpu_mask
命令行格式 | --ndb-recv-thread-cpu-mask=mask |
系统变量 | ndb_recv_thread_cpu_mask |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 位图 |
默认值 | [empty] |
- 用于将接收线程锁定到特定 CPU 的 CPU 掩码。这是指定为十六进制位掩码的。例如,
0x33
表示每个接收线程使用一个 CPU。空字符串是默认值;将ndb_recv_thread_cpu_mask
设置为此值会删除先前设置的任何接收线程锁定。
此变量的作用范围是全局的。也可以在启动时设置。 ndb_report_thresh_binlog_epoch_slip
命令行格式 | --ndb-report-thresh-binlog-epoch-slip=# |
系统变量 | ndb_report_thresh_binlog_epoch_slip |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 整数 |
默认值 | 10 |
最小值 | 0 |
最大值 | 256 |
- 这代表事件缓冲区中完全缓冲的时代数量的阈值,但尚未被二进制日志注入器线程消耗。当超过这种滑动(滞后)程度时,将报告事件缓冲区状态消息,原因为
BUFFERED_EPOCHS_OVER_THRESHOLD
(请参阅第 25.6.2.3 节,“集群日志中的事件缓冲区报告”)。当从数据节点接收并完全缓冲一个时代时,滑动会增加;当二进制日志注入器线程消耗一个时代时,滑动会减少。仅当使用 NDB API 中的Ndb::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=value |
引入版本 | 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=value |
引入版本 | 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=value |
引入版本 | 8.0.17-ndb-8.0.17 |
系统变量 | ndb_schema_dist_upgrade_allowed |
作用范围 | 全局 |
动态 | 否 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 | true |
- 允许在连接到
NDB
时升级模式分发表。当为真(默认值),此更改被推迟,直到所有 SQL 节点已升级到相同版本的 NDB Cluster 软件。
注意
在升级执行之前,模式分发的性能可能会有所下降。 ndb_show_foreign_key_mock_tables
命令行格式 | --ndb-show-foreign-key-mock-tables[={OFF|ON}] |
系统变量 | ndb_show_foreign_key_mock_tables |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 | OFF |
- 显示
NDB
用于支持foreign_key_checks=0
的模拟表。启用此功能时,在创建和删除表时会显示额外警告。表的真实(内部)名称可以在SHOW CREATE TABLE
的输出中看到。 ndb_slave_conflict_role
命令行格式 | --ndb-slave-conflict-role=value |
已弃用 | 8.0.23-ndb-8.0.23 |
系统变量 | ndb_slave_conflict_role |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 枚举 |
默认值 | NONE |
有效值 | NONE``PRIMARY``SECONDARY``PASS |
- 在 NDB 8.0.23 中已弃用,并可能在将来的版本中被移除。请改用
ndb_conflict_role
。 ndb_table_no_logging
系统变量 | ndb_table_no_logging |
作用范围 | 会话 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 | OFF |
- 当此变量设置为
ON
或1
时,导致使用ENGINE NDB
创建或更改的所有表都是非记录日志的;也就是说,此表的数据更改不会写入重做日志或写入磁盘检查点,就好像使用CREATE TABLE
或ALTER TABLE
时使用NOLOGGING
选项创建或更改表一样。
有关非记录NDB
表的更多信息,请参阅 NDB_TABLE 选项。ndb_table_no_logging
对NDB
表模式文件的创建没有影响;要抑制这些文件,请改用ndb_table_temporary
。 ndb_table_temporary
系统变量 | ndb_table_temporary |
作用范围 | 会话 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 | OFF |
- 当设置为
ON
或1
时,此变量导致NDB
表不写入磁盘:这意味着不会创建表模式文件,也不会记录表。
注意
设置此变量目前没有效果。这是一个已知问题;请参阅 Bug #34036。 ndb_use_copying_alter_table
系统变量 | ndb_use_copying_alter_table |
作用范围 | 全局, 会话 |
动态 | 否 |
SET_VAR 提示适用 |
否 |
- 强制
NDB
在在线ALTER TABLE
操作出现问题时使用表的复制。默认值为OFF
。 ndb_use_exact_count
系统变量 | ndb_use_exact_count |
作用范围 | 全局, 会话 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 | OFF |
- 强制
NDB
在SELECT COUNT(*)
查询规划期间使用记录计数以加快此类查询的速度。默认值为OFF
,这样可以加快整体查询速度。 ndb_use_transactions
命令行格式 | --ndb-use-transactions[={OFF|ON}] |
系统变量 | ndb_use_transactions |
作用范围 | 全局, 会话 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 | ON |
- 通过将此变量的值设置为
OFF
,您可以禁用NDB
事务支持。一般情况下不建议这样做,尽管在某些情况下可能会有用,比如在导入一个或多个大事务的转储文件时,可以在给定的客户端会话中禁用事务支持;这样可以将多行插入分批执行,而不是作为单个事务。在这种情况下,一旦导入完成,您应该将此会话的变量值重置为ON
,或者直接终止会话。 ndb_version
系统变量 | ndb_version |
作用范围 | 全局 |
动态 | 否 |
SET_VAR 提示适用 |
否 |
类型 | 字符串 |
默认值 |
NDB
引擎版本,作为一个复合整数。ndb_version_string
系统变量 | ndb_version_string |
作用范围 | 全局 |
动态 | 否 |
SET_VAR 提示适用 |
否 |
类型 | 字符串 |
默认值 |
NDB
引擎版本以ndb-*
x.y.z*
格式。replica_allow_batching
命令行格式 | --replica-allow-batching[={OFF|ON}] |
引入版本 | 8.0.26-ndb-8.0.26 |
系统变量 | replica_allow_batching |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 布尔值 |
默认值 (≥ 8.0.30-ndb-8.0.30) | ON |
默认值 (≤ 8.0.29-ndb-8.0.29) | OFF |
- NDB 集群复制品上是否启用了批量更新。从 NDB 8.0.26 开始,您应该使用
replica_allow_batching
来替代在该版本中已弃用的slave_allow_batching
。
在复制品上允许批量更新极大地提高了性能,特别是在复制TEXT
、BLOB
和JSON
列时。因此,在 NDB 8.0.30 及更高版本中,默认情况下启用了replica_allow_batching
。
设置此变量仅在使用NDB
存储引擎的复制时才会生效;在 MySQL Server 8.0 中,它存在但不起作用。有关更多信息,请参见第 25.7.6 节,“启动 NDB 集群复制(单个复制通道)”")。 ndb_replica_batch_size
命令行格式 | --ndb-replica-batch-size=# |
引入版本 | 8.0.30-ndb-8.0.30 |
系统变量 | ndb_replica_batch_size |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 整数 |
默认值 | 2097152 |
最小值 | 0 |
最大值 | 2147483648 |
单位 | 字节 |
- 确定复制应用程序线程使用的批量大小(以字节为单位)。在 NDB 8.0.30 及更高版本中,设置��变量而不是
--ndb-batch-size
选项,将此设置应用于副本,不包括任何其他会话。
如果未设置此变量(默认为 2 MB),其有效值为--ndb-batch-size
的值和 2 MB 中较大的一个。 ndb_replica_blob_write_batch_bytes
命令行格式 | --ndb-replica-blob-write-batch-bytes=# |
引入版本 | 8.0.30-ndb-8.0.30 |
系统变量 | ndb_replica_blob_write_batch_bytes |
作用范围 | 全局 |
动态 | 是 |
SET_VAR 提示适用 |
否 |
类型 | 整数 |
默认值 | 2097152 |
最小值 | 0 |
最大值 | 2147483648 |
单位 | 字节 |
- 控制复制应用程序线程用于 blob 数据的批量写入大小。
从 NDB 8.0.30 开始,您应该设置这个变量,而不是--ndb-blob-write-batch-bytes
选项来控制副本上的 blob 批量写入大小,不包括任何其他会话。这样做的原因是,当未设置ndb_replica_blob_write_batch_bytes
时,有效的 blob 批量大小(即,blob 列待写入的最大字节数)由--ndb-blob-write-batch-bytes
的值和 2 MB(ndb_replica_blob_write_batch_bytes
的默认值)中较大的一个确定。
将ndb_replica_blob_write_batch_bytes
设置为 0 意味着NDB
在副本上对 blob 批量写入大小不设限。 server_id_bits
命令行格式 | --server-id-bits=# |
系统变量 | server_id_bits |
作用范围 | 全局 |
动态 | 否 |
SET_VAR 提示适用 |
否 |
类型 | 整数 |
默认值 | 32 |
最小值 | 7 |
最大值 | 32 |
MySQL8 中文参考(八十八)(4)https://developer.aliyun.com/article/1565895