MySQL8-中文参考-九十六-

16 阅读27分钟

MySQL8 中文参考(九十六)

原文:docs.oracle.com/javase/tutorial/reallybigindex.html

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cluster-operations.html

25.6.16.7 ndbinfo cluster_operations 表

cluster_operations表提供了从本地数据管理(LQH)块的角度查看 NDB 集群中所有活动的每个操作(有状态的主键操作)视图(请参阅 DBLQH 块)。

cluster_operations表包含以下列:

  • node_id

    报告的 LQH 块的节点 ID

  • block_instance

    LQH 块实例

  • transid

    事务 ID

  • operation_type

    操作类型(请参阅文本以获取可能的值)

  • state

    操作状态(请参阅文本以获取可能的值)

  • tableid

    表 ID

  • fragmentid

    片段 ID

  • client_node_id

    客户端节点 ID

  • client_block_ref

    客户端块引用

  • tc_node_id

    事务协调器节点 ID

  • tc_block_no

    事务协调器块编号

  • tc_block_instance

    事务协调器块实例

注释

事务 ID 是一个唯一的 64 位数字,可以使用 NDB API 的getTransactionId()方法获取。(目前,MySQL 服务器不公开正在进行的事务的 NDB API 事务 ID。)

operation_type列可以采用以下任一值:READREAD-SHREAD-EXINSERTUPDATEDELETEWRITEUNLOCKREFRESHSCANSCAN-SHSCAN-EX<unknown>

state列可以具有以下任一值之一:ABORT_QUEUEDABORT_STOPPEDCOMMITTEDCOMMIT_QUEUEDCOMMIT_STOPPEDCOPY_CLOSE_STOPPEDCOPY_FIRST_STOPPEDCOPY_STOPPEDCOPY_TUPKEYIDLELOG_ABORT_QUEUEDLOG_COMMIT_QUEUEDLOG_COMMIT_QUEUED_WAIT_SIGNALLOG_COMMIT_WRITTENLOG_COMMIT_WRITTEN_WAIT_SIGNALLOG_QUEUEDPREPAREDPREPARED_RECEIVED_COMMITSCAN_CHECK_STOPPEDSCAN_CLOSE_STOPPEDSCAN_FIRST_STOPPEDSCAN_RELEASE_STOPPEDSCAN_STATE_USEDSCAN_STOPPEDSCAN_TUPKEYSTOPPEDTC_NOT_CONNECTEDWAIT_ACCWAIT_ACC_ABORTWAIT_AI_AFTER_ABORTWAIT_ATTRWAIT_SCAN_AIWAIT_TUPWAIT_TUPKEYINFOWAIT_TUP_COMMITWAIT_TUP_TO_ABORT。(如果 MySQL 服务器使用ndbinfo_show_hidden启用运行,则可以通过从通常隐藏的ndb$dblqh_tcconnect_state表中选择来查看此状态列表。)

您可以通过检查ndb_show_tables的输出来从其表 ID 获取NDB表的名称。

fragidndb_desc --extra-partition-info(简写为-p)输出中看到的分区号相同。

client_node_idclient_block_ref中,client指的是 NDB 集群 API 或 SQL 节点(即,NDB API 客户端或连接到集群的 MySQL 服务器)。

block_instancetc_block_instance列分别提供DBLQHDBTC块实例编号。您可以将这些与块名称一起使用,从threadblocks表中获取有关特定线程的信息。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cluster-transactions.html

25.6.16.8 ndbinfo cluster_transactions 表

cluster_transactions表显示了 NDB 集群中所有正在进行的事务的信息。

cluster_transactions表包含以下列:

  • node_id

    事务协调器的节��ID

  • block_instance

    TC 块实例

  • transid

    事务 ID

  • state

    操作状态(请参阅文本以获取可能的值)

  • count_operations

    事务中有状态的主键操作数(包括带锁的读取以及 DML 操作)

  • outstanding_operations

    仍在本地数据管理块中执行的操作

  • inactive_seconds

    等待 API 的时间

  • client_node_id

    客户端节点 ID

  • client_block_ref

    客户端块引用

注意

事务 ID 是一个唯一的 64 位数字,可以使用 NDB API 的getTransactionId()方法获取。 (目前,MySQL 服务器不会公开正在进行的事务的 NDB API 事务 ID。)

block_instance指的是内核块的一个实例。与块名称一起,这个数字可以用来在threadblocks表中查找给定实例。

state列可以有以下任一值:CS_ABORTINGCS_COMMITTINGCS_COMMIT_SENTCS_COMPLETE_SENTCS_COMPLETINGCS_CONNECTEDCS_DISCONNECTEDCS_FAIL_ABORTEDCS_FAIL_ABORTINGCS_FAIL_COMMITTEDCS_FAIL_COMMITTINGCS_FAIL_COMPLETEDCS_FAIL_PREPAREDCS_PREPARE_TO_COMMITCS_RECEIVINGCS_REC_COMMITTINGCS_RESTARTCS_SEND_FIRE_TRIG_REQCS_STARTEDCS_START_COMMITTINGCS_START_SCANCS_WAIT_ABORT_CONFCS_WAIT_COMMIT_CONFCS_WAIT_COMPLETE_CONFCS_WAIT_FIRE_TRIG_REQ。(如果 MySQL 服务器正在运行时启用了ndbinfo_show_hidden,您可以通过从ndb$dbtc_apiconnect_state表中选择来查看此状态列表,该表通常是隐藏的。)

client_node_idclient_block_ref中,client指的是 NDB 集群 API 或 SQL 节点(即,连接到集群的 NDB API 客户端或 MySQL 服务器)。

tc_block_instance列提供了DBTC块实例号。您可以将此与块名称一起使用,从threadblocks表中获取有关特定线程的信息。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-config-nodes.html

25.6.16.9 ndbinfo config_nodes 表

config_nodes 表显示在 NDB 集群 config.ini 文件中配置的节点。对于每个节点,表显示包含节点 ID、节点类型(管理节点、数据节点或 API 节点)以及配置为运行的主机的名称或 IP 地址的行。

此表不显示给定节点是否实际运行,或者当前是否连接到集群。有关连接到 NDB 集群的节点的信息可以从 nodesprocesses 表中获取。

config_nodes 表包含以下列:

  • node_id

    节点的 ID

  • node_type

    节点的类型

  • node_hostname

    节点所在主机的名称或 IP 地址

注意

node_id 列显示在 config.ini 文件中用于此节点的节点 ID;如果未指定任何节点 ID,则显示将自动分配给此节点的节点 ID。

node_type 列显示以下三个值之一:

  • MGM: 管理节点。

  • NDB: 数据节点。

  • API: API 节点;包括 SQL 节点。

node_hostname 列显示在 config.ini 文件中指定的节点主机。对于 API 节点,如果在集群配置文件中未设置 HostName,则此处可能为空。如果在配置文件中未为数据节点设置 HostName,则此处使用 localhost。如果未为管理节点指定 HostName,则也使用 localhost

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-config-params.html

25.6.16.10 ndbinfo config_params 表

config_params表是一个静态表,提供了 NDB Cluster 配置参数的名称、内部 ID 号以及其他信息。该表还可与config_values表一起使用,以获取有关节点配置参数的实时信息。

config_params表包含以下列:

  • param_number

    参数的内部 ID 号

  • param_name

    参数的名称

  • param_description

    参数的简要描述

  • param_type

    参数的数据类型

  • param_default

    参数的默认值(如果有的话)

  • param_min

    参数的最大值(如果有的话)

  • param_max

    参数的最小值(如果有的话)

  • param_mandatory

    如果参数是必需的,则为 1,否则为 0

  • param_status

    目前未使用

注意事项

该表是只读的。

尽管这是一个静态表,但其内容可能因 NDB Cluster 安装而异,因为受支持的参数可能因软件版本、集群硬件配置和其他因素的差异而变化。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-config-values.html

25.6.16.11 ndbinfo config_values 表

config_values表提供有关节点配置参数值的当前状态的信息。表中的每一行对应于给定节点上参数的当前值。

config_values表包含以下列:

  • node_id

    集群中节点的 ID

  • config_param

    参数的内部 ID 编号

  • config_value

    参数的当前值

注意

此表的config_param列和config_params表的param_number列使用相同的参数标识符。通过在这些列上连接两个表,您可以获取有关所需节点配置参数的详细信息。此处显示的查询提供了集群中每个数据节点的所有参数的当前值,按节点 ID 和参数名称排序:

SELECT    v.node_id AS 'Node Id',
          p.param_name AS 'Parameter',
          v.config_value AS 'Value'
FROM      config_values v
JOIN      config_params p
ON        v.config_param=p.param_number
WHERE     p.param_name NOT LIKE '\_\_%'
ORDER BY  v.node_id, p.param_name;

在用于简单测试的小型示例集群上运行上一个查询的部分输出:

+---------+------------------------------------------+----------------+
| Node Id | Parameter                                | Value          |
+---------+------------------------------------------+----------------+
|       2 | Arbitration                              | 1              |
|       2 | ArbitrationTimeout                       | 7500           |
|       2 | BackupDataBufferSize                     | 16777216       |
|       2 | BackupDataDir                            | /home/jon/data |
|       2 | BackupDiskWriteSpeedPct                  | 50             |
|       2 | BackupLogBufferSize                      | 16777216       |

...

|       3 | TotalSendBufferMemory                    | 0              |
|       3 | TransactionBufferMemory                  | 1048576        |
|       3 | TransactionDeadlockDetectionTimeout      | 1200           |
|       3 | TransactionInactiveTimeout               | 4294967039     |
|       3 | TwoPassInitialNodeRestartCopy            | 0              |
|       3 | UndoDataBuffer                           | 16777216       |
|       3 | UndoIndexBuffer                          | 2097152        |
+---------+------------------------------------------+----------------+
248 rows in set (0.02 sec)

WHERE子句过滤掉以双下划线(__)开头的参数;这些参数是为 NDB 开发人员的测试和其他内部用途保留的,并不打算在生产 NDB 集群中使用。

通过发出适当的查询,您可以获得更具体、更详细或两者兼具的输出。此示例提供了有关集群中所有数据节点当前设置的NodeIdNoOfReplicasHostNameDataMemoryIndexMemoryTotalSendBufferMemory参数的所有类型的可用信息:

SELECT  p.param_name AS Name,
        v.node_id AS Node,
        p.param_type AS Type,
        p.param_default AS 'Default',
        p.param_min AS Minimum,
        p.param_max AS Maximum,
        CASE p.param_mandatory WHEN 1 THEN 'Y' ELSE 'N' END AS 'Required',
        v.config_value AS Current
FROM    config_params p
JOIN    config_values v
ON      p.param_number = v.config_param
WHERE   p. param_name
  IN ('NodeId', 'NoOfReplicas', 'HostName',
      'DataMemory', 'IndexMemory', 'TotalSendBufferMemory')\G

在用于简单测试的具有 2 个数据节点的小型 NDB 集群上运行此查询的输出如下所示:

*************************** 1\. row ***************************
    Name: NodeId
    Node: 2
    Type: unsigned
 Default:
 Minimum: 1
 Maximum: 144
Required: Y
 Current: 2
*************************** 2\. row ***************************
    Name: HostName
    Node: 2
    Type: string
 Default: localhost
 Minimum:
 Maximum:
Required: N
 Current: 127.0.0.1
*************************** 3\. row ***************************
    Name: TotalSendBufferMemory
    Node: 2
    Type: unsigned
 Default: 0
 Minimum: 262144
 Maximum: 4294967039
Required: N
 Current: 0
*************************** 4\. row ***************************
    Name: NoOfReplicas
    Node: 2
    Type: unsigned
 Default: 2
 Minimum: 1
 Maximum: 4
Required: N
 Current: 2
*************************** 5\. row ***************************
    Name: DataMemory
    Node: 2
    Type: unsigned
 Default: 102760448
 Minimum: 1048576
 Maximum: 1099511627776
Required: N
 Current: 524288000
*************************** 6\. row ***************************
    Name: NodeId
    Node: 3
    Type: unsigned
 Default:
 Minimum: 1
 Maximum: 144
Required: Y
 Current: 3
*************************** 7\. row ***************************
    Name: HostName
    Node: 3
    Type: string
 Default: localhost
 Minimum:
 Maximum:
Required: N
 Current: 127.0.0.1
*************************** 8\. row ***************************
    Name: TotalSendBufferMemory
    Node: 3
    Type: unsigned
 Default: 0
 Minimum: 262144
 Maximum: 4294967039
Required: N
 Current: 0
*************************** 9\. row ***************************
    Name: NoOfReplicas
    Node: 3
    Type: unsigned
 Default: 2
 Minimum: 1
 Maximum: 4
Required: N
 Current: 2
*************************** 10\. row ***************************
    Name: DataMemory
    Node: 3
    Type: unsigned
 Default: 102760448
 Minimum: 1048576
 Maximum: 1099511627776
Required: N
 Current: 524288000 10 rows in set (0.01 sec)

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-counters.html

25.6.16.12 ndbinfo 计数器表

counters表提供了特定内核块和数据节点的事件(如读取和写入)的累计总数。计数从最近的节点启动或重新启动开始保持;节点的启动或重新启动会重置该节点上的所有计数器。并非所有内核块都具有所有类型的计数器。

counters表包含以下列:

  • node_id

    数据节点 ID

  • block_name

    关联的 NDB 内核块的名称(请参阅 NDB 内核块)。

  • block_instance

    区块实例

  • counter_id

    计数器的内部 ID 号码;通常为 1 到 10 之间的整数。

  • counter_name

    计数器的名称。请参阅各个计数器的名称和每个计数器关联的 NDB 内核块的文本。

  • val

    计数器的值

注意事项

每个计数器都与特定的 NDB 内核块相关联。

OPERATIONS计数器与DBLQH(本地查询处理程序)内核块相关联。主键读取计为一个操作,主键更新也是如此。对于读取,每个DBTC中的操作在DBLQH中有一个操作。对于写入,每个分片副本计为一个操作。

ATTRINFOTRANSACTIONSCOMMITSREADSLOCAL_READSSIMPLE_READSWRITESLOCAL_WRITESABORTSTABLE_SCANSRANGE_SCANS计数器与DBTC(事务协调器)内核块相关联。

LOCAL_WRITESLOCAL_READS是在一个节点中使用事务协调器的主键操作,该节点还持有记录的主分片副本。

READS计数器包括所有读取。LOCAL_READS仅包括与此事务协调器相同节点上的主分片副本的读取。SIMPLE_READS仅包括那些读取,其中读取操作是给定事务的开始和结束操作。简单读取不持有锁,但是作为事务的一部分,它们观察由包含它们的事务进行的未提交更改,而不是任何其他未提交事务。从 TC 块的角度来看,这样的读取是“简单的”;由于它们不持有锁,它们不是持久的,一旦DBTC将它们路由到相关的 LQH 块后,它不为它们保留状态。

ATTRINFO 记录将解释程序发送到数据节点的次数。有关NDB内核中ATTRINFO消息的更多信息,请参阅 NDB 协议消息。

LOCAL_TABLE_SCANS_SENTREADS_RECEIVEDPRUNED_RANGE_SCANS_RECEIVEDRANGE_SCANS_RECEIVEDLOCAL_READS_SENTCONST_PRUNED_RANGE_SCANS_RECEIVEDLOCAL_RANGE_SCANS_SENTREMOTE_READS_SENTREMOTE_RANGE_SCANS_SENTREADS_NOT_FOUNDSCAN_BATCHES_RETURNEDTABLE_SCANS_RECEIVEDSCAN_ROWS_RETURNED 计数器与DBSPJ(选择推送连接)内核块相关联。

block_nameblock_instance 列分别提供适用的 NDB 内核块名称和实例编号。您可以使用这些信息从threadblocks表中获取有关特定线程的信息。

一些计数器提供了有关传输器过载和发送缓冲区大小的信息,用于排除此类问题。对于每个 LQH 实例,在以下列表中的每个计数器中都有一个实例:

  • LQHKEY_OVERLOAD: 由于传输器过载而导致 LQH 块实例拒绝主键请求的次数。

  • LQHKEY_OVERLOAD_TC: 计算 TC 节点传输器过载的实例数。

  • LQHKEY_OVERLOAD_READER: 计算出现 API 读取节点(仅读取)过载的LQHKEY_OVERLOAD实例数。

  • LQHKEY_OVERLOAD_NODE_PEER: 计算下一个备份数据节点(仅写入)过载的LQHKEY_OVERLOAD实例数。

  • LQHKEY_OVERLOAD_SUBSCRIBER: 计算出现事件订阅者(仅写入)过载的LQHKEY_OVERLOAD实例数。

  • LQHSCAN_SLOWDOWNS: 计算由于扫描 API 传输器过载而导致片段扫描批量大小减少的实例数。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpudata.html

25.6.16.13 ndbinfo cpudata 表

cpudata 表提供了最近一秒钟的 CPU 使用情况数据。

cpustat 表包含以下列:

  • node_id

    节点 ID

  • cpu_no

    CPU ID

  • cpu_online

    如果 CPU 当前在线,则为 1,否则为 0

  • cpu_userspace_time

    CPU 花费在用户空间的时间

  • cpu_idle_time

    CPU 空闲时间

  • cpu_system_time

    CPU 花费在系统时间的时间

  • cpu_interrupt_time

    CPU 花费在处理中断(硬件和软件)的时间

  • cpu_exec_vm_time

    CPU 花费在虚拟机执行的时间

注意事项

cpudata 表仅在 Linux 和 Solaris 操作系统上可用。

该表在 NDB 8.0.23 版本中添加。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpudata-1sec.html

25.6.16.14 ndbinfo cpudata_1sec 表

cpudata_1sec表提供了过去 20 秒内每秒的 CPU 使用情况数据。

cpustat表包含以下列:

  • node_id

    节点 ID

  • measurement_id

    测量序列 ID;后续测量具有较低的 ID

  • cpu_no

    CPU ID

  • cpu_online

    如果 CPU 当前在线,则为 1,否则为 0

  • cpu_userspace_time

    在用户空间中花费的 CPU 时间

  • cpu_idle_time

    空闲时花费的 CPU 时间

  • cpu_system_time

    在系统时间中花费的 CPU 时间

  • cpu_interrupt_time

    处理中断(硬件和软件)所花费的 CPU 时间

  • cpu_exec_vm_time

    在虚拟机执行中花费的 CPU 时间

  • elapsed_time

    用于此测量的微秒时间

注意事项

cpudata_1sec表仅在 Linux 和 Solaris 操作系统上可用。

该表在 NDB 8.0.23 中添加。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpudata-20sec.html

25.6.16.15 ndbinfo cpudata_20sec 表

cpudata_20sec 表提供了过去 400 秒内每 20 秒间隔的 CPU 使用情况数据。

cpustat 表包含以下列:

  • node_id

    节点 ID

  • measurement_id

    测量序列 ID;后续测量具有较低的 ID

  • cpu_no

    CPU ID

  • cpu_online

    如果 CPU 当前在线,则为 1,否则为 0

  • cpu_userspace_time

    CPU 在用户空间中花费的时间

  • cpu_idle_time

    CPU 空闲时间

  • cpu_system_time

    CPU 在系统时间中花费的时间

  • cpu_interrupt_time

    CPU 处理中断(硬件和软件)所花费的时间

  • cpu_exec_vm_time

    CPU 在虚拟机执行中花费的时间

  • elapsed_time

    用于此测量的微秒时间

注意

cpudata_20sec 表仅适用于 Linux 和 Solaris 操作系统。

此表在 NDB 8.0.23 中添加。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpudata-50ms.html

25.6.16.16 ndbinfo cpudata_50ms 表

cpudata_50ms表提供了关于过去一秒钟内每 50 毫秒间隔的 CPU 使用情况的数据。

cpustat表包含以下列:

  • node_id

    节点 ID

  • measurement_id

    测量序列 ID;后续测量具有较低的 ID

  • cpu_no

    CPU ID

  • cpu_online

    如果 CPU 当前在线,则为 1,否则为 0

  • cpu_userspace_time

    CPU 时间花费在用户空间上

  • cpu_idle_time

    CPU 空闲时间

  • cpu_system_time

    CPU 时间花费在系统时间上

  • cpu_interrupt_time

    CPU 时间花费在处理中断(硬件和软件)上

  • cpu_exec_vm_time

    CPU 时间花费在虚拟机执行上

  • elapsed_time

    用于此测量的微秒时间

注释

cpudata_50ms表仅在 Linux 和 Solaris 操作系统上可用。

这个表是在 NDB 8.0.23 中添加的。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpuinfo.html

25.6.16.17 ndbinfo cpuinfo

cpuinfo表提供了关于给定数据节点执行的 CPU 的信息。

cpuinfo表包含以下列:

  • node_id

    节点 ID

  • cpu_no

    CPU ID

  • cpu_online

    如果 CPU 在线,则为 1,否则为 0

  • core_id

    CPU 核心 ID

  • socket_id

    CPU 插槽 ID

注意事项

cpuinfo表在所有由NDB支持的操作系统上都可用,除了 MacOS 和 FreeBSD。

该表在 NDB 8.0.23 中添加。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpustat.html

25.6.16.18 ndbinfo cpustat 表

cpustat表每秒提供每个线程在NDB内核中运行的每个线程的 CPU 统计信息。

cpustat表包含以下列:

  • node_id

    线程所在节点的 ID

  • thr_no

    线程 ID(特定于此节点)

  • OS_user

    操作系统用户时间

  • OS_system

    操作系统系统时间

  • OS_idle

    操作系统空闲时间

  • thread_exec

    线程执行时间

  • thread_sleeping

    线程睡眠时间

  • thread_spinning

    线程旋转时间

  • thread_send

    线程发送时间

  • thread_buffer_full

    线程缓冲区满时间

  • elapsed_time

    经过的时间

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpustat-50ms.html

25.6.16.19 The ndbinfo cpustat_50ms Table

cpustat_50ms 表提供了每个运行在 NDB 内核中的线程每 50 毫秒获取的原始、每线程的 CPU 数据。

类似于cpustat_1seccpustat_20sec,该表显示每个线程的 20 个测量集,每个集合引用一个命名持续时间的周期。因此,cpsustat_50ms 提供了 1 秒的历史记录。

cpustat_50ms 表包含以下列:

  • node_id

    线程所在节点的 ID

  • thr_no

    线程 ID(特定于此节点)

  • OS_user_time

    操作系统用户时间

  • OS_system_time

    操作系统空闲时间

  • OS_idle_time

    操作系统空闲时间

  • exec_time

    线程执行时间

  • sleep_time

    线程睡眠时间

  • spin_time

    线程自旋时间

  • send_time

    线程发送时间

  • buffer_full_time

    线程缓冲区满时间

  • elapsed_time

    经过的时间

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpustat-1sec.html

25.6.16.20 cpustat_1sec

cpustat-1sec 表提供每秒为 NDB 内核中运行的每个线程获取的原始的每线程 CPU 数据。

cpustat_50mscpustat_20sec类似,该表每个线程显示 20 个测量集,每个集合引用一个指定持续时间的周期。因此,cpsustat_1sec 提供了 20 秒的历史记录。

cpustat_1sec 表包含以下列:

  • node_id

    线程所在节点的 ID

  • thr_no

    线程 ID(特定于此节点)

  • OS_user_time

    操作系统用户时间

  • OS_system_time

    操作系统系统时间

  • OS_idle_time

    操作系统空闲时间

  • exec_time

    线程执行时间

  • sleep_time

    线程休眠时间

  • spin_time

    线程自旋时间

  • send_time

    线程发送时间

  • buffer_full_time

    线程缓冲区满时间

  • elapsed_time

    经过时间

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-cpustat-20sec.html

25.6.16.21 ndbinfo cpustat_20sec

cpustat_20sec 表提供每 20 秒获取一次的原始、每个运行在 NDB 内核中的线程的 CPU 数据。

cpustat_50mscpustat_1sec一样,此表显示每个线程的 20 个测量集,每个集合引用命名持续时间的一个时期。因此,cpsustat_20sec 提供了 400 秒的历史记录。

cpustat_20sec 表包含以下列:

  • node_id

    线程所在节点的 ID

  • thr_no

    线程 ID(特定于此节点)

  • OS_user_time

    操作系统用户时间

  • OS_system_time

    操作系统系统时间

  • OS_idle_time

    操作系统空闲时间

  • exec_time

    线程执行时间

  • sleep_time

    线程睡眠时间

  • spin_time

    线程旋转时间

  • send_time

    线程发送时间

  • buffer_full_time

    线程缓冲区满时间

  • elapsed_time

    经过时间

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-dictionary-columns.html

25.6.16.22 ndbinfo字典列表

该表提供有关NDB表列的NDB字典信息。dictionary_columns列在此处列出(带有简要描述):

  • table_id

    包含列的表的 ID

  • column_id

    列的唯一 ID

  • name

    列名

  • column_type

    来自 NDB API 的列的数据类型;请参阅 Column::Type,了解可能的值

  • default_value

    列的默认值,如果有的话

  • nullable

    NULLNOT NULL中的任一值

  • array_type

    列的内部属性存储格式;其中之一为FIXEDSHORT_VARMEDIUM_VAR;有关更多信息,请参阅 NDB API 文档中的Column::ArrayType

  • storage_type

    表使用的存储类型;MEMORYDISK中的任一值

  • primary_key

    如果这是一个主键列,则为1,否则为0

  • partition_key

    如果这是一个分区键列,则为1,否则为0

  • dynamic

    如果列是动态的,则为1,否则为0

  • auto_inc

    如果这是一个AUTO_INCREMENT列,则为1,否则为0

通过将dictionary_columnsdictionary_tables表连接,您可以获取给定表中所有列的信息,就像这样:

SELECT dc.*
  FROM dictionary_columns dc
JOIN dictionary_tables dt
  ON dc.table_id=dt.table_id
WHERE dt.table_name='t1'
  AND dt.database_name='mydb';

dictionary_columns表在 NDB 8.0.29 中添加。

注意

Blob 列不会显示在此表中。这是一个已知问题。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-dictionary-tables.html

25.6.16.23 ndbinfo dictionary_tables 表

此表为NDB表提供NDB字典信息。dictionary_tables包含以下列:

  • table_id

    表的唯一 ID

  • database_name

    包含表的数据库的名称

  • table_name

    表的名称

  • status

    表状态;其中之一为NewChangedRetrievedInvalidAltered。(有关对象状态值的更多信息,请参阅 Object::Status。)

  • attributes

    表属性数

  • primary_key_cols

    表主键中的列数

  • primary_key

    表主键中列的逗号分隔列表

  • storage

    表使用的存储类型;其中之一为memorydiskdefault

  • logging

    是否为此表启用了日志记录

  • dynamic

    如果表是动态的,则为1;否则为0;如果*table*->``getForceVarPart()为真,或者至少一个表列是动态的,则表被视为动态的

  • read_backup

    如果从任何副本读取(为此表启用了READ_BACKUP选项,则为1,否则为0;请参阅 Section 15.1.20.12, “Setting NDB Comment Options”)

  • fully_replicated

    如果为此表启用了FULLY_REPLICATED(集群中的每个数据节点都有表的完整副本),则为1;否则为0;请参阅 Section 15.1.20.12, “Setting NDB Comment Options”

  • checksum

    如果此表使用校验和,则此列中的值为1;否则为0

  • row_size

    可以存储在一行中的数据量(以字节为单位),不包括单独存���在 blob 表中的任何 blob 数据;请参阅 Table::getRowSizeInBytes(),API 文档中获取更多信息

  • min_rows

    用于计算分区的最小行数;请参阅 Table::getMinRows(),API 文档中获取更多信息

  • max_rows

    用于计算分区的最大行数;请参阅 Table::getMaxRows(),API 文档中获取更多信息

  • tablespace

    表所属的表空间的 ID,如果表不使用磁盘上的数据,则为0

  • fragment_type

    表的片段类型;其中之一为SingleAllSmallAllMediumAllLargeDistrKeyHashDistrKeyLinUserDefinedunusedHashMapPartition;有关更多信息,请参阅 Object::FragmentType,NDB API 文档中

  • hash_map

    表使用的哈希映射

  • fragments

    表片段数

  • partitions

    表使用的分区数

  • partition_balance

    使用的分区平衡类型,如果有的话;可以是FOR_RP_BY_NODEFOR_RA_BY_NODEFOR_RP_BY_LDMFOR_RA_BY_LDMFOR_RA_BY_LDM_X_2FOR_RA_BY_LDM_X_3FOR_RA_BY_LDM_X_4中的一个;参见第 15.1.20.12 节,“设置 NDB 注释选项”

  • contains_GCI

    如果表包含全局检查点索引,则为1,否则为0

  • single_user_mode

    单用户模式生效时允许对表的访问类型;可以是lockedread_onlyread_write中的一个;这些等同于 NDB API 中的Table::SingleUserMode类型的SingleUserModeLockedSingleUserModeReadOnlySingleUserModeReadWrite

  • force_var_part

    如果*table*->``getForceVarPart()对于此表为真,则为1,否则为0

  • GCI_bits

    用于测试

  • author_bits

    用于测试

dictionary_tables表在 NDB 8.0.29 中添加。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-dict-obj-info.html

25.6.16.24 The ndbinfo dict_obj_info Table

dict_obj_info 表提供有关 NDB 数据字典(DICT)对象(如表和索引)的信息。 (可以查询 dict_obj_types 表以获取所有类型的列表。)此信息包括对象的类型、状态、父对象(如果有)和完全限定名称。

dict_obj_info 表包含以下列:

  • type

    DICT 对象类型;与 dict_obj_types 连接以获取名称

  • id

    对象标识符;对于磁盘数据撤销日志文件和数据文件,这与信息模式 FILES 表中的 LOGFILE_GROUP_NUMBER 列显示的值相同;对于撤销日志文件,它也与 ndbinfo logbufferslogspaces 表中的 log_id 列显示的值相同

  • version

    对象版本

  • state

    对象状态;参见 Object::State 获取值和描述。

  • parent_obj_type

    父对象的类型(dict_obj_types 类型 ID);0 表示对象没有父对象

  • parent_obj_id

    父对象 ID(如基表);0 表示对象没有父对象

  • fq_name

    完全限定对象名称;对于表,格式为 *database_name*/def/*table_name*,对于主键,格式为 sys/def/*table_id*/PRIMARY,对于唯一键,格式为 sys/def/*table_id*/*uk_name*$unique

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-dict-obj-tree.html

25.6.16.25 The ndbinfo dict_obj_tree Table

dict_obj_tree表提供了来自dict_obj_info表的基于树的表信息视图。这主要用于测试,但在可视化NDB数据库对象的层次结构方面也很有用。

dict_obj_tree表包含以下列:

  • type

    DICT对象的类型;连接dict_obj_types以获取对象类型的名称

  • id

    对象标识符;与dict_obj_info表中的id列相同

    对于磁盘数据撤销日志文件和数据文件,这与信息模式FILES表中的LOGFILE_GROUP_NUMBER列中显示的值相同;对于撤销日志文件,这也与 ndbinfo logbufferslogspaces表中log_id列显示的值相同

  • name

    对象的完全限定名称;与dict_obj_info表中的fq_name列相同

    对于表,其形式为*database_name*/def/*table_name*(与其*parent_name相同);对于任何类型的索引,形式为NDB$INDEX_index_id*_CUSTOM`

  • parent_type

    此对象父对象的*DICT*对象类型;连接dict_obj_types以获取对象类型的名称

  • parent_id

    此对象父对象的标识符;与dict_obj_info表的id列相同

  • parent_name

    此对象父对象的完全限定名称;与dict_obj_info表的fq_name列相同

    对于表,其形式为*database_name*/def/*table_name*。对于索引,名称为sys/def/*table_id*/*index_name*。对于主键,为sys/def/*table_id*/PRIMARY,对于唯一键,为sys/def/*table_id*/*uk_name*$unique

  • root_type

    根对象的*DICT*对象类型;连接dict_obj_types以获取对象类型的名称

  • root_id

    根对象的标识符;与dict_obj_info表的id列相同

  • root_name

    根对象的完全限定名称;与dict_obj_info表的fq_name列相同

  • level

    层次结构中对象的级别

  • path

    *NDB*对象层次结构中对象的完整路径;对象之间用右箭头(表示为->)分隔,从左侧的根对象开始

  • indented_name

    带有右箭头(表示为->)前缀的name,前面有一些空格,这些空格对应于层次结构中对象的深度

path列对于在单行中获取给定NDB数据库对象的完整路径非常有用,而indented_name列可用于获取所需对象的完整层次结构信息的类似树状布局。

示例:假设存在一个名为test的数据库,并且在此数据库中不存在名为t1的现有表,请执行以下 SQL 语句:

CREATE TABLE test.t1 (
    a INT PRIMARY KEY,
    b INT,
    UNIQUE KEY(b)
)   ENGINE = NDB;

您可以使用此处显示的查询获取刚创建的表的路径:

mysql> SELECT path FROM ndbinfo.dict_obj_tree
 -> WHERE name LIKE 'test%t1';
+-------------+
| path        |
+-------------+
| test/def/t1 |
+-------------+
1 row in set (0.14 sec)

您可以使用表的路径作为查询中的根名称,查看此表的所有依赖对象的路径,类似于以下查询:

mysql> SELECT path FROM ndbinfo.dict_obj_tree
 -> WHERE root_name = 'test/def/t1';
+----------------------------------------------------------+
| path                                                     |
+----------------------------------------------------------+
| test/def/t1                                              |
| test/def/t1 -> sys/def/13/b                              |
| test/def/t1 -> sys/def/13/b -> NDB$INDEX_15_CUSTOM       |
| test/def/t1 -> sys/def/13/b$unique                       |
| test/def/t1 -> sys/def/13/b$unique -> NDB$INDEX_16_UI    |
| test/def/t1 -> sys/def/13/PRIMARY                        |
| test/def/t1 -> sys/def/13/PRIMARY -> NDB$INDEX_14_CUSTOM |
+----------------------------------------------------------+
7 rows in set (0.16 sec)

要获取具有所有依赖对象的t1表的分层视图,请执行类似于以下查询的查询,该查询选择具有test/def/t1作为其根对象名称的每个对象的缩进名称:

mysql> SELECT indented_name FROM ndbinfo.dict_obj_tree
 -> WHERE root_name = 'test/def/t1';
+----------------------------+
| indented_name              |
+----------------------------+
| test/def/t1                |
|   -> sys/def/13/b          |
|     -> NDB$INDEX_15_CUSTOM |
|   -> sys/def/13/b$unique   |
|     -> NDB$INDEX_16_UI     |
|   -> sys/def/13/PRIMARY    |
|     -> NDB$INDEX_14_CUSTOM |
+----------------------------+
7 rows in set (0.15 sec)

在处理磁盘数据表时,请注意,在此上下文中,表空间或日志文件组被视为根对象。这意味着您必须知道与给定表相关联的任何表空间或日志文件组的名称,或者从SHOW CREATE TABLE中获取此信息,然后查询INFORMATION_SCHEMA.FILES或类似的方式,如下所示:

mysql> SHOW CREATE TABLE test.dt_1\G
*************************** 1\. row ***************************
       Table: dt_1
Create Table: CREATE TABLE `dt_1` (
  `member_id` int unsigned NOT NULL AUTO_INCREMENT,
  `last_name` varchar(50) NOT NULL,
  `first_name` varchar(50) NOT NULL,
  `dob` date NOT NULL,
  `joined` date NOT NULL,
  PRIMARY KEY (`member_id`),
  KEY `last_name` (`last_name`,`first_name`)
) /*!50100 TABLESPACE `ts_1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec)

mysql> SELECT DISTINCT TABLESPACE_NAME, LOGFILE_GROUP_NAME
 -> FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME='ts_1';
+-----------------+--------------------+
| TABLESPACE_NAME | LOGFILE_GROUP_NAME |
+-----------------+--------------------+
| ts_1            | lg_1               |
+-----------------+--------------------+
1 row in set (0.00 sec)

现在,您可以像这样获取有关表、表空间和日志文件组的分层信息:

mysql> SELECT indented_name FROM ndbinfo.dict_obj_tree
 -> WHERE root_name = 'test/def/dt_1';
+----------------------------+
| indented_name              |
+----------------------------+
| test/def/dt_1              |
|   -> sys/def/23/last_name  |
|     -> NDB$INDEX_25_CUSTOM |
|   -> sys/def/23/PRIMARY    |
|     -> NDB$INDEX_24_CUSTOM |
+----------------------------+
5 rows in set (0.15 sec)

mysql> SELECT indented_name FROM ndbinfo.dict_obj_tree
 -> WHERE root_name = 'ts_1';
+-----------------+
| indented_name   |
+-----------------+
| ts_1            |
|   -> data_1.dat |
|   -> data_2.dat |
+-----------------+
3 rows in set (0.17 sec)

mysql> SELECT indented_name FROM ndbinfo.dict_obj_tree
 -> WHERE root_name LIKE 'lg_1';
+-----------------+
| indented_name   |
+-----------------+
| lg_1            |
|   -> undo_1.log |
|   -> undo_2.log |
+-----------------+
3 rows in set (0.16 sec)

dict_obj_tree表是在 NDB 8.0.24 中添加的。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-dict-obj-types.html

25.6.16.26 ndbinfo dict_obj_types 表

dict_obj_types 表是一个静态表,列出了 NDB 内核中使用的可能的字典对象类型。这些类型与 NDB API 中的 Object::Type 中定义的类型相同。

dict_obj_types 表包含以下列:

  • type_id

    此类型的类型 ID

  • type_name

    此类型的名称

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-disk-write-speed-base.html

25.6.16.27 ndbinfo disk_write_speed_base 表

disk_write_speed_base表提供了有关 LCP、备份和恢复操作期间磁盘写入速度的基本信息。

disk_write_speed_base表包含以下列:

  • node_id

    此节点的节点 ID

  • thr_no

    此 LDM 线程的线程 ID

  • millis_ago

    自此报告期结束以来的毫秒数

  • millis_passed

    在此报告期间经过的毫秒数

  • backup_lcp_bytes_written

    在此期间由本地检查点和备份过程写入磁盘的字节数

  • redo_bytes_written

    在此期间写入 REDO 日志的字节数

  • target_disk_write_speed

    每个 LDM 线程的实际磁盘写入速度(基础数据)

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-disk-write-speed-aggregate.html

25.6.16.28 ndbinfo disk_write_speed_aggregate 表

disk_write_speed_aggregate表提供了有关 LCP、备份和恢复操作期间磁盘写入速度的聚合信息。

disk_write_speed_aggregate表包含以下列:

  • node_id

    此节点的节点 ID

  • thr_no

    此 LDM 线程的线程 ID

  • backup_lcp_speed_last_sec

    备份和 LCP 进程上一秒写入磁盘的字节数

  • redo_speed_last_sec

    上一秒写入 REDO 日志的字节数

  • backup_lcp_speed_last_10sec

    备份和 LCP 进程每秒写入磁盘的字节数,过去 10 秒的平均值

  • redo_speed_last_10sec

    每秒写入 REDO 日志的字节数,过去 10 秒的平均值

  • std_dev_backup_lcp_speed_last_10sec

    备份和 LCP 进程每秒写入磁盘的字节数的标准偏差,过去 10 秒的平均值

  • std_dev_redo_speed_last_10sec

    每秒写入 REDO 日志的字节数的标准偏差,过去 10 秒的平均值

  • backup_lcp_speed_last_60sec

    备份和 LCP 进程每秒写入磁盘的字节数,过去 60 秒的平均值

  • redo_speed_last_60sec

    每秒写入 REDO 日志的字节数,过去 10 秒的平均值

  • std_dev_backup_lcp_speed_last_60sec

    备份和 LCP 进程每秒写入磁盘的字节数的标准偏差,过去 60 秒的平均值

  • std_dev_redo_speed_last_60sec

    每秒写入 REDO 日志的字节数的标准偏差,过去 60 秒的平均值

  • slowdowns_due_to_io_lag

    自上次节点启动以来,由于 REDO 日志 I/O 延迟而导致磁盘写入减速的秒数

  • slowdowns_due_to_high_cpu

    自上次节点启动以来,由于高 CPU 使用率而导致磁盘写入减速的秒数

  • disk_write_speed_set_to_min

    自上次节点启动以来,磁盘写入速度被设置为最小的秒数

  • current_target_disk_write_speed

    每个 LDM 线程的实际磁盘写入速度(聚合)

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-disk-write-speed-aggregate-node.html

25.6.16.29 ndbinfo disk_write_speed_aggregate_node 表

disk_write_speed_aggregate_node表提供了有关在 LCP、备份和恢复操作期间磁盘写入速度的每个节点的汇总信息。

disk_write_speed_aggregate_node表包含以下列:

  • node_id

    此节点的节点 ID

  • backup_lcp_speed_last_sec

    上一秒由备份和 LCP 进程写入磁盘的字节数

  • redo_speed_last_sec

    上一秒写入重做日志的字节数

  • backup_lcp_speed_last_10sec

    每秒由备份和 LCP 进程写入磁盘的字节数,平均值为过去 10 秒

  • redo_speed_last_10sec

    每秒写入重做日志的字节数,平均值为过去 10 秒

  • backup_lcp_speed_last_60sec

    每秒由备份和 LCP 进程写入磁盘的字节数,平均值为过去 60 秒

  • redo_speed_last_60sec

    每秒写入重做日志的字节数,平均值为过去 60 秒

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-diskpagebuffer.html

25.6.16.30 ndbinfo diskpagebuffer 表

diskpagebuffer 表提供有关 NDB Cluster Disk Data 表使用的磁盘页面缓冲区的统计信息。

diskpagebuffer 表包含以下列:

  • node_id

    数据节点 ID

  • block_instance

    块实例

  • pages_written

    写入磁盘的页面数量。

  • pages_written_lcp

    本地检查点写入的页面数量。

  • pages_read

    从磁盘读取的页面数量

  • log_waits

    等待将页面写入磁盘的页面写入数量

  • page_requests_direct_return

    请求页面在缓冲区中可用的请求数量

  • page_requests_wait_queue

    等待页面在缓冲区中变为可用的请求数量

  • page_requests_wait_io

    需要从磁盘上的页面读取的请求数量(页面在缓冲区中不可用)

注意

您可以将此表与 NDB Cluster Disk Data 表一起使用,以确定 DiskPageBufferMemory 是否足够大,以允许数据从缓冲区而不是磁盘读取;减少磁盘寻道可以帮助提高这些表的性能。

您可以使用类似以下查询来确定从 DiskPageBufferMemory 读取的比例占总读取次数的百分比,从而获得这个比率:

SELECT
  node_id,
  100 * page_requests_direct_return /
    (page_requests_direct_return + page_requests_wait_io)
      AS hit_ratio
FROM ndbinfo.diskpagebuffer;

此查询的结果应类似于此处显示的内容,每个数据节点在集群中占据一行(在此示例中,集群有 4 个数据节点):

+---------+-----------+
| node_id | hit_ratio |
+---------+-----------+
|       5 |   97.6744 |
|       6 |   97.6879 |
|       7 |   98.1776 |
|       8 |   98.1343 |
+---------+-----------+
4 rows in set (0.00 sec)

hit_ratio 值接近 100% 表明只有极少数读取是从磁盘而不是缓冲区进行的,这意味着磁盘数据读取性能接近最佳水平。如果其中任何值低于 95%,这是一个强烈的指示,需要在 config.ini 文件中增加 DiskPageBufferMemory 的设置。

注意

更改 DiskPageBufferMemory 需要在其生效之前对集群的所有数据节点进行滚动重启。

block_instance 指的是内核块的一个实例。与块名称一起,此数字可用于在 threadblocks 表中查找给定实例。使用这些信息,您可以获取与单个线程相关的磁盘页面缓冲区指标的信息;这里显示了一个使用 LIMIT 1 限制输出为单个线程的示例查询:

mysql> SELECT
     >   node_id, thr_no, block_name, thread_name, pages_written,
     >   pages_written_lcp, pages_read, log_waits,
     >   page_requests_direct_return, page_requests_wait_queue,
     >   page_requests_wait_io
     > FROM ndbinfo.diskpagebuffer
     >   INNER JOIN ndbinfo.threadblocks USING (node_id, block_instance)
     >   INNER JOIN ndbinfo.threads USING (node_id, thr_no)
     > WHERE block_name = 'PGMAN' LIMIT 1\G
*************************** 1\. row ***************************
                    node_id: 1
                     thr_no: 1
                 block_name: PGMAN
                thread_name: rep
              pages_written: 0
          pages_written_lcp: 0
                 pages_read: 1
                  log_waits: 0
page_requests_direct_return: 4
   page_requests_wait_queue: 0
      page_requests_wait_io: 1 1 row in set (0.01 sec)

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-diskstat.html

25.6.16.31 ndbinfo diskstat 表

diskstat表提供了关于过去 1 秒内对磁盘数据表空间的写入的信息。

diskstat表包含以下列:

  • node_id

    此节点的节点 ID

  • block_instance

    报告PGMAN实例的 ID

  • pages_made_dirty

    过去一秒内使页面变脏的次数

  • reads_issued

    过去一秒内发出的读取次数

  • reads_completed

    过去一秒内完成的读取次数

  • writes_issued

    过去一秒内发出的写入次数

  • writes_completed

    过去一秒内完成的写入次数

  • log_writes_issued

    过去一秒内页面写入需要进行日志写入的次数

  • log_writes_completed

    过去一秒内完成的日志写入次数

  • get_page_calls_issued

    过去一秒内发出的get_page()调用次数

  • get_page_reqs_issued

    过去一秒内get_page()调用导致等待 I/O 或已经开始的 I/O 完成的次数

  • get_page_reqs_completed

    过去一秒内等待 I/O 或 I/O 完成的get_page()调用次数

注意

此表中的每一行对应一个PGMAN实例;每个 LDM 线程对应一个这样的实例,每个数据节点还有一个额外的实例。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-diskstats-1sec.html

25.6.16.32 ndbinfo diskstats_1sec 表

diskstats_1sec表提供了过去 20 秒内对磁盘数据表空间的写入信息。

diskstat表包含以下列:

  • node_id

    此节点的节点 ID

  • block_instance

    PGMAN的报告实例 ID

  • pages_made_dirty

    指定的 1 秒间隔内使页面变脏的页数

  • reads_issued

    指定的 1 秒间隔内发出的读取

  • reads_completed

    指定的 1 秒间隔内完成的读取

  • writes_issued

    指定的 1 秒间隔内发出的写入

  • writes_completed

    指定的 1 秒间隔内完成的写入

  • log_writes_issued

    指定的 1 秒间隔内,页面写入需要日志写入的次数

  • log_writes_completed

    指定的 1 秒间隔内完成的日志写入次数

  • get_page_calls_issued

    指定的 1 秒间隔内发出的get_page()调用次数

  • get_page_reqs_issued

    get_page()调用导致等待 I/O 或 I/O 已开始完成的次数,在指定的 1 秒间隔内

  • get_page_reqs_completed

    等待 I/O 或 I/O 完成的get_page()调用次数,在指定的 1 秒间隔内已完成

  • seconds_ago

    过去的时间间隔内的 1 秒间隔数,适用于此行

备注

此表中的每一行对应于PGMAN的一个实例,在从 0 到 19 秒前的 1 秒间隔内发生;每个 LDM 线程有一个这样的实例,每个数据节点还有一个额外的实例。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-error-messages.html

25.6.16.33 ndbinfo error_messages 表

error_messages 表提供有关

error_messages 表包含以下列:

  • 错误代码

    数字错误代码

  • 错误描述

    错误描述

  • error_status

    错误状态码

  • 错误分类

    错误分类代码

注意

error_code 是一个数字 NDB 错误代码。这是可以提供给 ndb_perror 的相同错误代码。

错误描述 提供导致错误的条件的基本描述。

error_status 列提供与错误相关的状态信息。此列的可能值在此处列出:

  • 无错误

  • 非法连接字符串

  • 非法服务器句柄

  • 服务器回复非法

  • 节点数量非法

  • 非法节点状态

  • 内存不足

  • 管理服务器未连接

  • 无法连接到套接字

  • 启动失败

  • 停止失败

  • 重新启动失败

  • 无法启动备份

  • 无法中止备份

  • 无法进入单用户模式

  • 无法退出单用户模式

  • 无法完成配置更改

  • 获取配置失败

  • 使用错误

  • 成功

  • 永久错误

  • 临时错误

  • 未知结果

  • 临时错误,重新启动节点

  • 永久错误,需要外部操作

  • Ndbd 文件系统错误,重新启动节点初始

  • 未知

error_classification 列显示错误分类。有关分类代码及其含义的信息,请参阅 NDB 错误分类。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-events.html

25.6.16.34 ndbinfo 事件表

此表提供有关NDB中事件订阅的信息。events表的列在此处列出,并附有每个列的简短描述:

  • event_id

    事件 ID

  • name

    事件的名称

  • table_id

    事件发生的表的 ID

  • reporting

    其中之一是updatedallsubscribeDDL

  • columns

    受事件影响的列的逗号分隔列表

  • table_event

    一个或多个INSERTDELETEUPDATESCANDROPALTERCREATEGCP_COMPLETECLUSTER_FAILURESTOPNODE_FAILURESUBSCRIBEUNSUBSCRIBEALL(由 NDB API 中的Event::TableEvent定义)

events表是在 NDB 8.0.29 中添加的。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-files.html

25.6.16.35 ndbinfo 文件表

files表提供了关于NDB磁盘数据表使用的文件和其他对象的信息,并包含以下列:

  • id

    对象 ID

  • type

    对象的类型;可以是Log file groupTablespaceUndo fileData file之一

  • name

    对象的名称

  • parent

    父对象的 ID

  • parent_name

    父对象的名称

  • free_extents

    空闲范围的数量

  • total_extents

    总范围数

  • extent_size

    范围大小(MB)

  • initial_size

    初始大小(字节)

  • maximum_size

    最大大小(字节)

  • autoextend_size

    自动扩展大小(字节)

对于日志文件组和表空间,parent始终为0,而parent_namefree_extentstotal_extentsextent_sizeinitial_sizemaximum_sizeautoentend_size列都为NULL

如果在NDB中没有创建磁盘数据对象,则files表为空。有关更多信息,请参见第 25.6.11.1 节,“NDB Cluster Disk Data Objects”。

files表是在 NDB 8.0.29 中添加的。

另请参阅第 28.3.15 节,“INFORMATION_SCHEMA FILES Table”。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-foreign-keys.html

25.6.16.36 ndbinfo foreign_keys 表

foreign_keys 表提供关于 NDB 表上的外键的信息。该表具有以下列:

  • object_id

    外键的对象 ID

  • name

    外键的名称

  • parent_table

    外键的父表的名称

  • parent_columns

    父列的逗号分隔列表

  • child_table

    子表的名称

  • child_columns

    子列的逗号分隔列表

  • parent_index

    父索引的名称

  • child_index

    子索引的名称

  • on_update_action

    ON UPDATE 指定的外键操作;其中之一是 No ActionRestrictCascadeSet NullSet Default

  • on_delete_action

    ON DELETE 指定的外键操作;其中之一是 No ActionRestrictCascadeSet NullSet Default

foreign_keys 表在 NDB 8.0.29 中添加。

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-ndbinfo-hash-maps.html

25.6.16.37 ndbinfo hash_maps 表

  • id

    哈希映射的唯一 ID

  • version

    哈希映射版本(整数)

  • state

    哈希映射状态;参见 Object::State 获取数值和描述。

  • fq_name

    哈希映射的完全限定名称

hash_maps表实际上是一个视图,由四列组成,这四列与dict_obj_info表的列名相同,如下所示:

CREATE VIEW hash_maps AS
  SELECT id, version, state, fq_name
  FROM dict_obj_info
  WHERE type=24;  # Hash map; defined in dict_obj_types

更多信息请参阅dict_obj_info的描述。

hash_maps表在 NDB 8.0.29 中添加。